我目前正在看一本有关Java编程的书,我试图做一个自学问题,要求做一个程序,该程序计算您按空格键的次数,并且必须打“'”。停止while循环。但是,该循环似乎要循环3次,而不是要求每次输入一次密钥。这是代码
public class KeySelfTest {
public static void main(String args[]) throws java.io.IOException{
char input;
int space = 0;
input = 'q';
while (input != '.'){
System.out.println("Enter a key");
input = (char) System.in.read();
if (input == ' '){
space++;
}
else{
System.out.println("Enter a period to stop");
}
}
System.out.println("You used the spacebar key " + space + " times");
}
}
我还想知道在实际循环之前可以用来初始化输入变量的方法,而不是将其默认设置为像q这样的随机字母。感谢您的帮助。
答案 0 :(得分:2)
这实际上是使用do-while循环的完美时机。
do {
input = System.in.read();
...
} while (input != '.');
答案 1 :(得分:1)
您可以在一个语句中进行赋值和测试,例如
char input;
int space = 0;
while ((input = (char) System.in.read()) != '.') {
System.out.println("Enter a key");
if (input == ' ') {
space++;
} else {
System.out.println("Enter a period to stop");
}
}
System.out.println("You used the spacebar key " + space + " times");