小编典典

For Loop有什么问题?

java

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”吗?


阅读 298

收藏
2020-11-30

共1个答案

小编典典

这是“两次打印”,因为当您按回车键输入一个字符时,实际上是在写两个字符:您键入的字符和\n(换行符)。

添加第二个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 。

2020-11-30