我正在尝试将数组转换为单词数组,例如:
{1,2} 将转换为 {"one","two"}
所以这是我在java中编写的代码:
public static void main(String[] args) {
ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1,2));
Integer [] list1Array = list1.toArray(new Integer[0]);
int numLength2 = list1.size();
for(int i = 0; i < numLength2; i++){
System.out.println(list1Array[i]);
}
System.out.println(numLength2);
String n2 = "";
for(int j = 0; j < numLength2; j++) {
int element = list1.get(j);
System.out.println(element);
switch (element) {
case '1': {
n2 = n2 + "one";
break;
}
case '2': {
n2 = n2 + "two";
break;
}
default: {
n2 = n2 + "zero";
}
}
}
System.out.println(n2);
}
}
Run Code Online (Sandbox Code Playgroud)
除最后一次打印外,它工作正常:
System.out.println(n2);
Run Code Online (Sandbox Code Playgroud)
这里的输出是zerozero应该的onetwo.代码有什么问题?
element是一个int,但你将它与char文字进行比较.您应该使用int文字:
switch (element) {
case 1: {
n2 = n2 + "one";
break;
}
case 2: {
n2 = n2 + "two";
break;
}
default: {
n2 = n2 + "zero";
}
}
Run Code Online (Sandbox Code Playgroud)