2014-10-11 3 views
-2

나는 수업을위한 프로그램을 작성하고 있으며, 사용자에게 몇 명의 학생이 얼마나 많은 수의 시험을 보았는지 묻습니다. 그런 다음 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!"); 


    } 

} 
+3

첫 번째 단계 : 문제를 분해. 문제를 구성 단계로 분해 한 다음 한 번에 하나씩 각 단계를 해결하십시오. –

+0

ExamAverage를 루프 외부로 옮깁니다. 또한 시험을 늘리지 않습니다. – OldProgrammer

답변

0

추가 번호 :

String allNumbers = "12 34 67 34 56 78"; 
int total = 0; 
for(String str : allNumbers.split("\\s")){ 
    total+=Integer.parseInt(str); 
} 
+0

어떻게 모든 학생들에게이 작업을 하시겠습니까? 예를 들어 3 명의 학생이 있다고 입력하면 3 명의 학생에 대한 정보를 묻는 메시지가 표시되지만 평균은 첫 번째 학생에게만 적용되며 다른 학생에게는 평균이 적용되지 않습니다. – bearmod

관련 문제