我被要求创建一个由字母A到Z组成的数组,然后通过键盘询问位置,如果位置正确,则将它们保存在字符串中。最后应插入-1以完成程序并打印结果字符串。
public static void main(String[] args) {
//I print an array with letters from A-Z
char abc[]=new char[26];
for(int i=0; i<abc.length; i++) {
abc[i]=(char)('A'+i);
System.out.println(abc[i]);
}
//I ask for positions and save the results in a String
do {
String result="";
Scanner sn = new Scanner(System.in);
int num=sn.nextInt();
result=result + abc[num];
}while(num!=-1);
}
}
while循环不允许我写条件while(num!=-1)
。我如何创建一个条件,允许我在插入-1之前一直插入自己想要的时间?
答案 0 :(得分:0)
您应该将变量从循环范围中移出。这样做可以编写更清晰的代码,也可以将“ num = sn.nextInt()!= -1”构造用于“读取符号,直到写入'-1'为止”
public static void main(String[] args) {
//I print an array with letters from A-Z
char abc[]=new char[26];
for(int i=0; i<abc.length; i++) {
abc[i]=(char)('A'+i);
System.out.println(abc[i]);
}
//I ask for positions and save the results in a String
Scanner sn = new Scanner(System.in);
int num;
String result = "";
while(num = sn.nextInt() != -1) {
result = result + abc[num];
}
System.out.println(result);
}
答案 1 :(得分:-3)
在while循环之前声明num变量。