繁体   English   中英

需要用户输入 5 次的 For 循环

[英]For loop that takes user input 5 times

我要制作一个重复 5 次的 for 循环。 每次它要求您输入成绩时,使用 System.in.read(); 获取您的输入,然后说出您输入的内容。 出于某种原因,输出看起来很奇怪,而且工作不正常。 输出如下所示:

  • 为您的班级输入字母等级
  • (您输入的字母,例如 a)
  • 输入的等级 = a
  • 为您的班级输入字母等级
  • 输入的等级 =

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

输出应该看起来像

  • 为您的班级输入字母等级
  • (输入字母例如 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!");   }

关于您的代码的一些要点。 首先,正确格式化。 您目前的问题是您的 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 字符串的第一个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM