java - 无法将输出打印为(姓名+成绩)
问题描述
我正在尝试打印names + grades
,但我不能以某种方式。我可以尝试删除成绩,然后名称是唯一会打印的,但我需要同时打印姓名和成绩(姓名+成绩)
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Input the Number of Students:");
int totalStudents = Integer.parseInt(in.nextLine());
String[] studentNames = new String[totalStudents];
System.out.println("Enter the Student Names:");
for (int j = 0; j < studentNames.length; j++) {
studentNames[j] = in.nextLine();
}
int[] grades = new int[totalStudents];
System.out.println("Enter the Student Grades:");
for (int i = 0; i < studentNames.length; i++) {
grades[i] = in.nextInt();
}
for (String names : studentNames ; int grades : grades) {
System.out.print(names);
System.out.println(grades);
}
}
解决方案
如果您可以确保学生姓名数组和成绩之一具有相同的长度(并且您应该),那么您可以轻松地按索引进行迭代
for (int x = 0; x < grades.length; x++) {
System.out.print(names[x]);
System.out.println(grades[x]);
}
也就是说,由于姓名和成绩属于同一类(学生 a 的成绩与学生 a 的姓名无关),面向对象的方法是创建一个将两者结合在一起的类。由于您显然只是从 java 开始,我强烈建议您从一开始就这样做。
推荐阅读
- apache-spark - Spark Structured Streaming - 即使没有输入行也强制执行微批处理
- flutter - 如何对提供者创建的类进行单元测试?
- arrays - 基于单元格地址的 Google 表格条件格式
- java - 为什么JVM被称为虚拟机而JRE不被称为虚拟机?
- azure - 使用 Jenkins 和 Azure 容器服务在 AKS 上部署新容器
- .htaccess - 替换域的特定部分,其余部分保持不变
- r - Genalex 导出的 str 格式的 struct2geno 错误
- flutter - 新的集团模式 - 它是如何工作的?
- email - 使用 ansible 从邮箱下载电子邮件附件
- pandas - 将熊猫数据框转换为火花数据框时转换列类型