簡體   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