这是我正在处理的代码。
import java.io.*;
import java.util.*;
public class Program {
public static void main(String[] args) {
char[] a = new char[] {'0','1'};
possibleStrings(3, a,"");
char[] b = new char[] {'|','&'};
possibleStrings(2, b,"");
result(a,b); }
public static void possibleStrings(int maxLength, char[] alphabet, String curr) {
if(curr.length() == maxLength) {
System.out.print(curr);
System.out.println();
} else {
for(int i = 0; i < alphabet.length; i++) {
String oldCurr = curr;
curr += alphabet[i];
possibleStrings(maxLength,alphabet,curr);
curr = oldCurr;
}}}
public static void result(char[] arrayA,char[] arrayB) {
StringBuilder sb = new StringBuilder();
int i = 0;
while( i < arrayA.length && i < arrayB.length){
sb.append(arrayA[i]).append(arrayB[i]);
++i;
}
for(int j = i; j < arrayA.length; ++j){
sb.append(arrayA[j]);
}
for(int j = i; j < arrayB.length; ++j){
sb.append(arrayB[j]);
}
System.out.println("o/p="+sb.toString());
}}
从主函数,我将值传递给可能的字符串,我正在尝试将此处生成的字符串收集回同一组输入的主函数,即possibleStrings(3, a,"");
和possibleStrings(2, b,"");
,然后将字符串 a 和 b 传递给result
函数。
在结果函数中,我试图逐个字符附加字符串,并获得在上述字符串中获得的输出的组合。
但是我得到的输出是错误的。我不知道我哪里出错了。请帮帮我。
如果我是对的,那么在将数据传递给函数时是一个错误:possibleStrings(2, b,"");
将其替换为:possibleStrings(2,'b',"");
因为它是一个字符,我认为它应该在单引号中。