Определение того, какая часть кода отвечает за то, чтобы программа делала то, что говорит пользователь в количестве тестов. - PullRequest
0 голосов
/ 27 сентября 2019

В этой программе пользователю предлагается ввести количество тестов, которое он хочет получить в среднем, а затем программа попросит его ввести, сколько бы он ни сказал.У меня возникли проблемы с определением, как код делает это.Что заставляет его возвращать столько входных данных, сколько просит пользователь.Спасибо!

Я посмотрел на функцию while, но это, кажется, только в том случае, если пользователь вводит что-то вроде 0 или отрицательного числа (я думаю).

import java.util.Scanner;

public class average {

    public static String getLetterGrade(double average) {
        if (average < 60) {
            return "F";
        } else if (average < 70) {
            return "D";
        } else if (average < 80) {
            return "C";
        } else if (average < 90){
            return "B";
        }
         else;{
            return "A";
        }
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Welcome, please type your first name. ");
        String name = scan.nextLine();
        System.out.println("Welcome, please type your last name. ");
        String last = scan.nextLine();
        int n;
        System.out.println("How many tests would you like the average of?");
        n = scan.nextInt();

        while(n<0) {
            System.out.println("Invalid input.");
            System.out.println("How many tests would you like the average 
                of?");
            n = scan.nextInt();
       }

       double sum = 0, grade;
       System.out.println("Enter " + n + " scores.");
       for(int i = 0;i<n;i++) {
           grade = scan.nextDouble();
           sum += grade;
       }
       double average = (sum/n);
       System.out.println("Okay " + name.charAt(0) + last.charAt(0) + ", your 
       average score is " + (average));
       System.out.println("Your letter grade is a " + 
       getLetterGrade(average));

    }

}

В этой программе нет ошибок, и она выполняет то, что должна делать.

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