Для цикла, который принимает пользовательский ввод 5 раз - PullRequest
0 голосов
/ 07 апреля 2019

Я должен был сделать цикл for, который повторяется 5 раз. Каждый раз, когда он просит вас ввести оценку, принимает ваши данные, используя System.in.read () ;, затем говорит, что вы ввели. По некоторым причинам вывод выглядит странно, и он не работает правильно. Вывод выглядит так:

  • Введите буквенную оценку для вашего класса
  • (буква, которую вы вводите, например, а)
  • Оценка введена = 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!");   }

1 Ответ

0 голосов
/ 07 апреля 2019

Некоторые моменты относительно вашего кода. Во-первых, отформатируйте его правильно. В настоящее время ваша проблема заключается в том, что цикл 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() для чтения ввода с консоли. Причина этого заключается в том, что при нажатии клавиши «Ввод» он будет включать возврат каретки - вам нужно будет обратить особое внимание на это в своем коде. Чтобы избежать этого, используйте Scanner и получите первый символ возвращенной строки Scanner, используя charAt(0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...