java - 将数组中的结果与 java 中的用户输入分开打印
问题描述
因此,我正在尝试创建一个程序,该程序接收学生的 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");
}
}
}}
解决方案
首先你需要用GPA
我们声明一个双精度数组的值填充数组
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<array.length;i++){
if (array[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<array.length;i++){
if (array[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");
}
}
}
}
推荐阅读
- javascript - 对气泡图中的文本使用 D3-plus TextWrap 的问题
- google-chrome - 将鼠标悬停在 Chrome 开发工具中的变量上不显示当前值?
- angular - Angular 主题不适用于所有组件
- r - 有没有办法根据 as.Date 变量对一年内的所有值求和
- python - 通过沿元素列表移动窗口来对元素延伸进行操作
- excel - 我想创建一个计数器,每次用户打开用户表单时都会增加 +1
- android - Android 分页库 - PositionalDataSource 问题
- ios - 在iOS 13系统下,我尝试呈现一个背景为半透明的UIViewController。背景颜色变为全黑
- java - Quarkus/microprofile 读取 pom.xml 属性
- ios - 部分中标题的自定义视图问题未在点击手势 UITableView 上呈现