首页 > 解决方案 > 将数组中的结果与 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");
        }
    }


}}

标签: javaarrays

解决方案


首先你需要用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");
            }
        }

        }


    }

推荐阅读