프로그래밍에 익숙하지 않아 각 do while 루프에 대한 점수를 증가 시키거나 저장할 카운터를 얻을 수 없습니다. 이 프로그램은 숙제에 대한 성적을 받아 평균 한 다음, 퀴즈에 대한 성적을 받아 평균 한 다음, 시험에 대해 동일한 결과를 얻은 다음 마지막에 평균 3 개의 평균을 함께 계산합니다. ,Java가 작동하도록 카운터를 가져올 수 없습니다.
averagehomework = totalhomework/counterhomework;
System.out.print("\nYour Homework average is:" + averagehomework);
당신이 이름 변수를 초기화해야합니다
import java.util.Scanner;
public class Homework3 {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
int number1;
int totalhomework = 0;
int counterhomework = 0;
double averagehomework = 0;
String name;
int homeworkgrade = 0;
int totalquiz = 0;
int counterquiz = 0;
double averagequiz = 0;
int quizgrade = 0;
int totaltest = 0;
int countertest = 0;
double averagetest = 0;
int testgrade = 0;
double finalaverage = 0;
boolean run = true;
do {
System.out.print("\nEnter 1 to average grades for new student");
System.out.print("\n Enter 2 to quit");
number1 = input.nextInt();
if (number1 == 1) {
System.out.println("\nWhat is the student's name?");
name = input.next();
}
if (number1 == 2) {
System.out.print("\nThank you");
System.exit(1);
}
counterhomework = 0;
totalhomework = 0;
do {
counterhomework++;
totalhomework = totalhomework + homeworkgrade;
System.out.println("\nFirst enter Homework grades then type " +
"-1 to move onto next category"
);
homeworkgrade = input.nextInt();
} while(homeworkgrade != -1);
if (homeworkgrade == -1) {
System.out.print("\nYour Homework average is:" +
averagehomework
);
averagehomework = totalhomework/counterhomework;
}
do {
counterquiz = counterquiz +1;
System.out.print("\nNext enter quiz grades then type -1 " +
"to move onto next category"
);
totalquiz = totalquiz + quizgrade;
quizgrade = input.nextInt();
} while (quizgrade != -1);
if (quizgrade ==-1) {
System.out.print("\nYour quiz average is:" + averagequiz);
averagequiz = totalquiz/counterquiz;
}
do {
countertest = countertest +1;
System.out.print("\nFinally enter test grades then type " +
"-1 when finished"
);
totaltest = totaltest + testgrade;
testgrade = input.nextInt();
} while (testgrade != -1);
if (testgrade == -1) {
System.out.print("\nYour test average is:" +averagetest);
averagetest = totaltest/countertest;
}
System.out.print(name);
System.out.print("final average is:" + finalaverage);
finalaverage = 0.25 * averagehomework + 0.25 * averagequiz +
0.50 * averagetest;
} while (number1 != 2);
} //main
} //class
어떤 문제가 있습니까? – Masudul
SO에 게시하기 전에 코드를 정리하십시오. 너무 많은 공백이 있으며 탭이 응용 프로그램의 중첩 구조를 따르지 않습니다. –
그리고 너무 많은 양의 코드가 있습니다. – Dukeling