Мне интересно, как я могу напечатать элемент в операторе if внутри цикла for.Когда я распечатываю массив, все в порядке, за исключением элемента в операторе if (который является gradeValue).Он просто печатает самый последний элемент и копирует этот элемент для предыдущих строк.
for(int i = 0; i < numberofcourses; i++)
{
scanner.nextLine();
System.out.println("Please enter your #"+(i+1)+" class name: ");
ClassName[i] = scanner.nextLine();
System.out.println("Please enter your #"+(i+1)+" class description: ");
Description[i] = scanner.nextLine();
System.out.println("Please enter your #"+(i+1)+" class units: ");
Units [i] = scanner.nextInt();
scanner.nextLine();
System.out.println("Please enter your #"+(i+1)+" class grade: ");
grade[i] = scanner.nextLine();
if (grade[i].equals ("A"))
gradeValue= 4.00;
else if (grade[i].equals("A-"))
gradeValue= 3.67;
else if (grade[i].equals("B+"))
gradeValue = 3.33;
else if (grade[i].equals("B"))
gradeValue = 3.00;
else if (grade[i].equals ("B-"))
gradeValue = 2.67;
else if (grade[i].equals("C+"))
gradeValue = 2.33;
else if (grade[i].equals("C"))
gradeValue = 2.00;
else if (grade[i].equals ("D+"))
gradeValue = 1.33;
else if (grade[i].equals ("D"))
gradeValue = 1.00;
else if (grade[i].equals ("F"))
gradeValue = 0;
else if (grade[i].equals ("FX"))
gradeValue = 0;
else
System.out.println ("Invalid Grade");
finalgrade = gradeValue * Units[i];
}
Вот пример вывода.Как вы можете видеть, GradePoint остается на уровне 3.33, то есть B +, самый последний элемент, который я ввел.Там нет никаких признаков A и B-, которые я вводил ранее.: (
Please enter the term of your grade calculation (for example, Fall 2015):
Fall 2019
Please enter the number of courses that you are enrolled in Fall 2019:
3
Please enter your #1 class name:
FIN301
Please enter your #1 class description:
Personal Finance
Please enter your #1 class units:
3
Please enter your #1 class grade:
A
Please enter your #2 class name:
BUS314
Please enter your #2 class description:
Business Finance
Please enter your #2 class units:
3
Please enter your #2 class grade:
B-
Please enter your #3 class name:
BUS313
Please enter your #3 class description:
Economics Finance
Please enter your #3 class units:
3
Please enter your #3 class grade:
B+
Class Grades - Fall 2019 Term
Office Grades
Class | Description | Units | Grade | Gradepoint
------------------------------------------------------------------------------------------------------------------
FIN301 | Personal Finance | 3 | A | 3.33
BUS314 | Business Finance | 3 | B- | 3.33
BUS313 | Economics Finance | 3 | B+ | 3.33