Java で作成したこのメソッドに問題があります。
メソッドは、2 つの文字列を取ることです。最初の文字列sArr
は、2 番目の文字列が解析されるときに追加された文字を追跡するためのものです。2 番目の文字str
列は整数の文字列で、各整数を順番に使用して に加算しsArr
ます。各整数は、異なる文字配列を参照します。次に例を示します。
String[] two = {"A", "B", "C"};
現時点では、別の方法の補助的な方法です。何かを入力すると、入力された最初の数字のみが使用されます。数字からセットのすべての順列を出力することになっています。22 を入力すると、次のように出力されます。AA, AB, AC, BA, BB, BC, CA, CB, CC
私が使ってきたテスト入力printStrAux("", 23);
は2
ABC
私は必ずしもスプーンで回答したいとは思っていませんが、どんな助けも素晴らしいでしょう.
public static void printStrings(String str){
if(isAllDigits(str))
System.out.println(printStrAux("", str));
}
protected static String printStrAux(String sArr, String str){
if(str.equals(""))
return sArr;
else{
Integer val = Integer.parseInt(str.substring(0, 1));
switch (val) {
case 1: printStrAux(sArr, str.substring(1));
break;
case 2:
for(int i = 0; i < two.length; i++){
printStrAux(sArr += two[i], str.substring(1));
}
break;
case 3:
for(int i = 0; i < three.length; i++){
printStrAux(sArr += three[i], str.substring(1));
}
break;
case 4:
for(int i = 0; i < four.length; i++){
printStrAux(sArr += four[i], str.substring(1));
}
break;
case 5:
for(int i = 0; i < five.length; i++){
printStrAux(sArr += five[i], str.substring(1));
}
break;
case 6:
for(int i = 0; i < six.length; i++){
printStrAux(sArr += six[i], str.substring(1));
}
break;
case 7:
for(int i = 0; i < seven.length; i++){
printStrAux(sArr += seven[i], str.substring(1));
}
break;
case 8:
for(int i = 0; i < eight.length; i++){
printStrAux(sArr += eight[i], str.substring(1));
}
break;
case 9:
for(int i = 0; i < nine.length; i++){
printStrAux(sArr += nine[i], str.substring(1));
}
break;
case 0: {
printStrAux(sArr, str.substring(1));
}
break;
}
}
return sArr;
}
私が何をしたかったのかではなく、ここで何をしているのかについては、ほとんど手がかりがないことに注意してください。