首页 > 解决方案 > 无法将输出打印为(姓名+成绩)

问题描述

我正在尝试打印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);
    }
}

标签: javaarraysstringparseint

解决方案


如果您可以确保学生姓名数组和成绩之一具有相同的长度(并且您应该),那么您可以轻松地按索引进行迭代

for (int x = 0; x < grades.length; x++) {
    System.out.print(names[x]);
    System.out.println(grades[x]);
}

也就是说,由于姓名和成绩属于同一类(学生 a 的成绩与学生 a 的姓名无关),面向对象的方法是创建一个将两者结合在一起的类。由于您显然只是从 java 开始,我强烈建议您从一开始就这样做。


推荐阅读