Я пишу программу для класса и что она делает, она спрашивает у пользователя, сколько учеников в классе и сколько экзаменов они взяли. Затем, используя цикл for, он запрашивает имя и баллы экзаменов каждого отдельного ученика на основе того, что вы ввели ранее, после того, как вы ввели это, он дает вам среднюю оценку теста и несколько других вещей. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как вы принимаете среднее значение теста. Я не могу заставить свою программу читать тестовые оценки, введенные пользователем, а затем принимать среднее значение. Спасибо за любую помощь заранее.Добавление чисел из строки, разделенных пробелом
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args){
//Define Variables
int Students;
int Exams;
int Sum = 0;
int ExamAverage = 0;
String ExamScores;
String StudentName;
//Create Scanner
Scanner s = new Scanner(System.in);
//Print the First Block
System.out.println("Welcome to GradeCalculator!");
System.out.println("");
System.out.println("Please enter the number of students: ");
Students = s.nextInt();
System.out.println("Please enter the number of exams: ");
Exams = s.nextInt();
s.nextLine();
System.out.println("- - - - - - - - - - - - - - - - - - - -");
//For Loop
for (int i = 1; i<=Students; i++){
System.out.println("Enter Student " + i + "'s name: ");
StudentName = s.nextLine();
System.out.println("Enter exam scores: ");
ExamScores = s.nextLine();
Sum+=Integer.parseInt(ExamScores);
ExamAverage = Sum/Exams;
System.out.println("Grade Statistics for " + StudentName);
System.out.println("\t Average: " + ExamAverage);
System.out.println("\t Letter Grade: ");
System.out.println("\t"+ StudentName + " gets a ");
System.out.println("- - - - - - - - - - - - - - - - - - - -");
}
//Print the Last Block
System.out.println("Class Statistics:");
System.out.println("\t Average: ");
System.out.println("\t Lowest: ");
System.out.println("\t Highest: ");
System.out.println("");
System.out.println("Done, Good Bye!");
}
}
Первый шаг: разбить проблему вниз. Разложите проблему на свои составляющие шаги, а затем попытайтесь решить каждый шаг по одному. –
move ExamAcer вне цикла. Кроме того, вы не увеличиваете количество экзаменов. – OldProgrammer