-3
사용자로부터 입력을 받아 최저 할당 등급을 떨어 뜨린 다음 몇 가지 등급을 선택하고 평균을 계산해야하는 수업에 대한 과제가 있습니다. 모든 일을 마쳤지 만 마지막 단계는 사용자에게 다른 학생을 위해 프로그램을 반복할지 묻는 것입니다. 내가 가지고있는 do while
루프는 실행되지 않습니다.루프를 실행하는 동안 성적 계산기가 실행되지 않습니다.
import java.util.Scanner;
public class CalculateGrades{
public static void main(String [] args){
Scanner sc = new Scanner (System.in);
double score;
double sum=0;
double lowest=100;
do{
//ASSIGNMENT GRADES
for(int i=1;i<=5;i++){
System.out.println("enter grade for assignment " +i);
score=sc.nextDouble();
sum=sum+score;
if(score<lowest){
lowest=score;
}
}
sum=sum-lowest;
double assignmentAvg= sum/4;
System.out.println("After the lowest grade is dropped, your assignment average is " + assignmentAvg);
//EXAM GRADES
System.out.println("enter grade for exam one");
double exam1=sc.nextDouble();
System.out.println("enter grade for exam two");
double exam2=sc.nextDouble();
//LAB GRADE
System.out.println("enter grade for lab");
double lab= sc.nextDouble();
//FINAL EXAM GRADE
System.out.println("enter grade for final exam");
double Final=sc.nextDouble();
//AVERAGE
double avg= (assignmentAvg*.2)+(exam1*.15)+(exam2*.2)+(lab*.2)+(Final*.25);
if(avg >=90){
System.out.println("Your weighted average is " + avg + " and your letter grade is A");
}
else if(avg >=80){
System.out.println("Your weighted average is " + avg + " and your letter grade is B");
}
else if(avg >=70){
System.out.println("Your weighted average is " + avg + " and your letter grade is C");
}
else if(avg >=60){
System.out.println("Your weighted average is " + avg + " and your letter grade is D");
}
else{
System.out.println("Your weighted average is " + avg + " and your letter grade is F");
}
System.out.println("Would you like to calculate for another student? Press 1 for yes, or any key to terminate");
int again= sc.nextInt();
}while(again==1);
// for next student reset sum
}
}
디버거로 무엇을 배우면서 무엇을 배웠습니까? –
do ... while 루프의 목적은 적어도 한번은 실행하는 것입니다 ... – Solace
다음 학생과 함께 뛰기 전에'sum'을 0으로 되돌려 놓는 것을 잊지 마십시오. –