对于需要用户输入5次的循环

时间:2019-04-07 18:50:29

标签: java loops

我要做一个for循环,重复5次。每次要求您输入成绩时,请使用System.in.read();进行输入,然后说出您输入的内容。由于某种原因,输出看起来很奇怪,并且无法正常工作。输出看起来像这样:

  • 输入您班级的字母成绩
  • (您输入的字母,例如a)
  • 已输入成绩= a
  • 输入您班级的字母成绩
  • 已输入成绩=

以上重复3次,然后以“谢谢,继续努力!”结束第^

输出应类似于

  • 输入您班级的字母成绩
  • (输入字母ex.b)
  • 已输入成绩= b

它执行了5次^

很抱歉,如果缩进不正确或解决方案很明显,这是编程新手。

   char g; 
        {                           
        for (int x = 0; x < 5; x++) {
        System.out.println("Enter a letter grade for your class"); 
        g = (char) System.in.read();
        System.out.println("Grade entered = " + g); }
    System.out.println("Thanks, keep up the good work!");   }

1 个答案:

答案 0 :(得分:0)

关于您的代码的一些要点。首先,正确格式化。您当前的问题是for循环仅针对System.out.println语句运行,其余的都将被忽略。编写for循环时请不要忽略方括号,这不是一个好习惯。由于这是家庭作业,因此我不会给您代码,但是会给您代码结构:

public class Main {
    public static void main(String[] args) {
        for (int x = 0; x < 5; x++) { //looping 5 times
            System.out.println("Enter a letter grade for your class"); //print statement
            //code here to get character
            System.out.println("Grade entered = " + g);
        }
        //print final statement outside the for-loop.
        System.out.println("Thanks, keep up the good work!"); 
    }
}

下一点:我不建议使用System.in.read()从控制台读取输入。这样做的原因是因为当您按“ Enter”键时,它将包括回车符-您需要在代码中特别注意这一点。为了避免这种情况,请使用Scanner,并使用charAt(0)获取返回的Scanner字符串的第一个字符。