首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中独立于用户输入打印数组中的结果。

在java中独立于用户输入打印数组中的结果。
EN

Stack Overflow用户
提问于 2021-03-01 03:33:38
回答 2查看 52关注 0票数 0

因此,我正在尝试创建一个程序,该程序接收学生的GPA,并打印出他们是否以荣誉级别毕业,毕业或未毕业。我已经弄清楚了大部分代码,但我正在努力让所有的输入都是优先的,然后它将返回并打印出每个学生是否都毕业了。但我得到的是,在输入每个学生的毕业状态后,立即打印出该学生的毕业状态。

我得到了这个:

代码语言:javascript
复制
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

当我想要这个的时候:

代码语言:javascript
复制
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

下面是我的代码:

代码语言:javascript
复制
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");
        }
    }


}}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-01 03:53:23

首先,需要用值填充数组

我们声明一个双精度数组

代码语言:javascript
复制
double array[] = new double[size];

我们迭代for循环,要求用户输入GPA,然后用这些值填充数组

代码语言:javascript
复制
for (int i = 0; i < size; i++) {
            System.out.print("GPA #" + i + ": ");
            gpa = sc.nextDouble();
            array[index++] = gpa;

        }

现在我们有了填充了值的数组,那么我们应该做什么呢?我们应该知道,通过使用if语句检查数组值来打印它。

代码语言:javascript
复制
for(int i=0;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");
        }
    }

    }


}

完整代码

代码语言:javascript
复制
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= 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");
            }
        }

        }


    }
票数 1
EN

Stack Overflow用户

发布于 2021-03-01 03:40:45

这听起来像是你想要有一个GPA列表紧跟着另一个状态列表。如果是这种情况,那么你有两个单独的列表,这将需要两个单独的循环。

做一个循环来打印出你的GPA,然后在这个循环结束后,有另一个循环来打印状态。此外,您还需要一些方法来存储第一个循环中的那些值。也许是一个数组?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66413110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档