package mygradeloops; import java.io.IOException; public class MyGradeLoops { public static void main(String[] args) throws IOException { char x = 'A'; for (x='0';x<'9';x++){ System.out.println("Please enter in one of your grades."); System.in.read(); System.out.println("Keep going!"); } } }
该代码在第一个“等级”之后保持两次打印。有谁知道为什么要打印两次?我做错了“ For Loop”吗?
这是“两次打印”,因为当您按回车键输入一个字符时,实际上是在写两个字符:您键入的字符和\n(换行符)。
\n
添加第二个System.in.read();调用以读取换行符:
System.in.read();
for (x='0';x<'9';x++){ System.out.println("Please enter in one of your grades."); System.in.read(); // your character System.in.read(); // newline System.out.println("Keep going!"); }
同样,不需要初始化x为'A'in char x;也可以。实际上,char在此循环中使用a没有意义,int首选使用a 。
x
'A'
char x;
char
int