首页 > 解决方案 > 在一个循环中打印字符串和整数

问题描述

抱歉,如果这是一个含糊的问题,但我查了很多,并且真的坚持我的代码。

我想制作一个循环,在一行上打印字符串,在下一行打印 Ints,我的代码是:

public class StudentResult {
    public static void main(String[] args) {
        // Creating Student Objects
        Student student1 = new Student("Bob", 45);
        Student student2 = new Student("John", 70);

        // Making Arrays for students and marks
        String[] names = {student1.getStudentName(), student2.getStudentName()};
        int[] marks = { student1.getStudentMarks(), student2.getStudentMarks() };

        // Using for loop to print both names and marks

        for (int mark : marks) {
            // THIS IS THE PART I AM STUCK WITH
            if (mark == student1.getStudentMarks()) System.out.println(names[0]);
            else if (mark == student2.getStudentMarks()) System.out.println(names[1]);

            System.out.println("The marks are " + mark);
             /* Output is :
                Bob
                The marks are 45
                John 
                The marks are 70
             */
        }
    }
}

有没有办法在 for 循环之后编辑If/Else语句,这样如果我添加另一个学生对象,我只需要编辑我的数组,循环本身就可以正常工作。

标签: java

解决方案


您可以在此处使用索引 for 循环而不是for each循环(这是假设两者namesmarks数组的长度相同。

for(int i = 0; i < marks.length; i++) {
    System.out.println(names[i]);
    System.out.println("The marks are " + marks[i]);
}

推荐阅读