如何解决在 Java 中如何显示通过 do while 循环输入的输入?
我正在开发一个程序,该程序会提示用户输入无限数量的学生姓名和分数。当用户输入 -1 时,程序应该停止提示用户输入。一旦发生这种情况,将显示成绩报告,显示每个学生的成绩、最低分、最高分和平均分。
以下是它应该是什么样子的示例:
Enter the student's name or [-1] to quit: Victoria T.
Enter the student's grade or [-1] to quit: 88
Enter the student's name or [-1] to quit: Jared S.
Enter the student's grade or [-1] to quit: 93
Enter the student's name or [-1] to quit: Jaheem
Enter the student's grade or [-1] to quit: 75
Enter the student's name or [-1] to quit: -1
Class Grading Report
Victoria T.: B
Jared S.: A
Jaheem: C
Minimum: 75.0
Maximum: 93.0
Average: 64.0
到目前为止,我已经想出了如何通过 do-while 循环收集输入,但现在我想弄清楚如何打印出我输入的所有输入。我知道还有其他因素,例如计算最大和最小数字以及将数字成绩转换为字母成绩,但我只想弄清楚如何打印出我输入的输入。
这是我目前的代码:
import java.util.*;
public class CreateGradeReport {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String studentName = "";
int studentGrade = 0;
do {
System.out.print("\nEnter the student's name or [-1] to quit: ");
studentName = input.nextLine();
if (studentName.equals("-1")){
break;
}
System.out.print("\nEnter the student's grade or [-1] to quit: ");
studentGrade = input.nextInt();
if(studentGrade == -1){
break;
}
String dummy = input.nextLine();
}
while(!studentName.equals("-1") && studentGrade != -1);
}
}
对此的任何帮助将不胜感激。谢谢。
解决方法
您需要先将输入的详细信息保存在合适的数据结构中。您可以创建一个单独的班级,其中包含学生姓名和成绩的字段,如下所示:
enable-ssl-passthrough
然后你也许可以使用这个对象的 ArrayList 以这种方式保存所有数据:
public class StudentDetails {
public String studentName;
public int studentGrade;
public StudentDetails (String studentName,int studentGrade){
this.studentName = studentName;
this.studentGrade = studentGrade;
}
}
快乐编码!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。