因此,我正在尝试创建一个程序,该程序接收学生的GPA,并打印出他们是否以荣誉级别毕业,毕业或未毕业。我已经弄清楚了大部分代码,但我正在努力让所有的输入都是优先的,然后它将返回并打印出每个学生是否都毕业了。但我得到的是,在输入每个学生的毕业状态后,立即打印出该学生的毕业状态。
我得到了这个:
Enter the number of GPAs: 3
GPA #0: 3.99
Student #0: Summa Cum Laude
GPA #1: 3.1
Student #1: Graduating
GPA #2: 2
Student #2: Graduating当我想要这个的时候:
Enter the number of GPAs: 3
GPA #0: 3.99
GPA #1: 3.1
GPA #2: 2
Student #0: Summa Cum Laude
Student #1: Graduating
Student #2: Graduating下面是我的代码:
System.out.print("Enter the number of GPAs: ");
int size = sc.nextInt();
int array[] = new int[size];
double gpa;
for (int i = 0; i < size; i++) {
System.out.print("GPA #"+ i + ": " );
gpa = sc.nextDouble();
if (gpa >= 3.90) {
System.out.println("Student #" + i + ": Summa Cum Laude");
} else if (gpa >= 3.70) {
System.out.println("Student #" + i + ": Magna Cum Laude");
} else if (gpa >= 3.50) {
System.out.println("Student #" + i + ": Cum Laude");
} else if (gpa >= 2.0) {
System.out.println("Student #" + i + ": Graduating");
} else {
System.out.println("Student #" + i + ": Not graduating");
}
}
}}发布于 2021-03-01 03:53:23
首先,需要用值填充数组
我们声明一个双精度数组
double array[] = new double[size];我们迭代for循环,要求用户输入GPA,然后用这些值填充数组
for (int i = 0; i < size; i++) {
System.out.print("GPA #" + i + ": ");
gpa = sc.nextDouble();
array[index++] = gpa;
}现在我们有了填充了值的数组,那么我们应该做什么呢?我们应该知道,通过使用if语句检查数组值来打印它。
for(int i=0;i= 3.90) {
System.out.println("Student #" + i + ": Summa Cum Laude");
} else if (array[i] >= 3.70) {
System.out.println("Student #" + i + ": Magna Cum Laude");
} else if (array[i] >= 3.50) {
System.out.println("Student #" + i + ": Cum Laude");
} else if (array[i] >= 2.0) {
System.out.println("Student #" + i + ": Graduating");
} else {
System.out.println("Student #" + i + ": Not graduating");
}
}
}
}完整代码
System.out.print("Enter the number of GPAs: ");
int size = sc.nextInt();
double array[] = new double[size];
double gpa;
int index = 0;
for (int i = 0; i < size; i++) {
System.out.print("GPA #" + i + ": ");
gpa = sc.nextDouble();
array[index++] = gpa;
}
for(int i=0;i= 3.90) {
System.out.println("Student #" + i + ": Summa Cum Laude");
} else if (array[i] >= 3.70) {
System.out.println("Student #" + i + ": Magna Cum Laude");
} else if (array[i] >= 3.50) {
System.out.println("Student #" + i + ": Cum Laude");
} else if (array[i] >= 2.0) {
System.out.println("Student #" + i + ": Graduating");
} else {
System.out.println("Student #" + i + ": Not graduating");
}
}
}
}发布于 2021-03-01 03:40:45
这听起来像是你想要有一个GPA列表紧跟着另一个状态列表。如果是这种情况,那么你有两个单独的列表,这将需要两个单独的循环。
做一个循环来打印出你的GPA,然后在这个循环结束后,有另一个循环来打印状态。此外,您还需要一些方法来存储第一个循环中的那些值。也许是一个数组?
https://stackoverflow.com/questions/66413110
复制相似问题