Я пытаюсь добавить несколько значений, которые я получаю из нескольких операторов if. Поэтому я попробовал это с помощью только операторов, и я получаю сообщение об ошибке, что значения totaltopFinal и totaltopFinal1 не были инициализированы в строке кода «generalCompletion = totaltopFinal + totaltopFinal1», когда на самом деле они имеют значения, основанные на пользовательском вводе через если утверждения.Сохранение значений через оператор if
Вот часть кода:
while(t !=0){
if(t == 30){
//Loop for parameters of array
System.out.println("What is the number of students taking the exam?");
BufferedReader st = new BufferedReader(new InputStreamReader(System.in));
String d = null;
try {
d =st.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int s = Integer.parseInt(d);
totalTop = thirtyMin[0] * s;
totalTop1 = totalTop * constPercent[0];
totalTop2 = thirtyMin[1] * s;
totalTop3 = totalTop2 * constPercent[1];
totalTop4 = thirtyMin[2] * s;
totalTop5 = totalTop4 * constPercent[2];
totalTop6 = thirtyMin[3] * s;
totalTop7 = totalTop6 * constPercent[3];
totalStudents = s + totalStudents;
totaltopFinal = totalTop1 + totalTop3 + totalTop5 + totalTop7;
averageTotal = totaltopFinal/totalStudents;
x = Math.log(averageTotal);
almostTotal = -21.6 * x;
completeTotal = almostTotal + 156.8;
System.out.println("The average of students who can take an exam in a hour is:" + completeTotal);
}
if(t == 45){
//Loop for parameters of array
System.out.println("What is the number of students taking the exam?");
BufferedReader st = new BufferedReader(new InputStreamReader(System.in));
String d = null;
try {
d =st.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int s = Integer.parseInt(d);
totalTop = thirtyMin[0] * s;
totalTop1 = totalTop * constPercent[0];
totalTop2 = thirtyMin[1] * s;
totalTop3 = totalTop2 * constPercent[1];
totalTop4 = thirtyMin[2] * s;
totalTop5 = totalTop4 * constPercent[2];
totalTop6 = thirtyMin[3] * s;
totalTop7 = totalTop6 * constPercent[3];
totalStudents = s + totalStudents;
totaltopFinal1 = totalTop1 + totalTop3 + totalTop5 + totalTop7;
}
overallCompletion = totaltopFinal + totaltopFinal1;
}
где вы объявили totaltopFinal и totaltopFinal1 – varatis
Я объявил их в начале программы. Я просто объявил их двойником. – thehoule64
Это домашнее задание? В этом случае вы должны пометить его «домашней работой». – posdef