当前位置: 首页 > 知识库问答 >
问题:

让用户在二维数组中输入分数或检查平均成绩?

曾沛
2023-03-14

帮助我觉得自己有点不知所措,我正在尝试创建一个小程序,让用户执行以下操作

伪代码

导入扫描仪

定义变量numStudents numExams studscore studgrade userIn keepGoing

询问用户有多少学生,设置为numStudents

询问用户多少次考试,设置为NumExams

为numstudents numExams创建二维数组studentResults

同时保持真实

要求用户按E键退出,按S键输入学生的考试成绩,或按C键检查最终成绩,如果退出,则将输入解析为字符,如果退出,则退出程序,如果S键设置keepGoing为false,如果S键要求输入学生编号,则创建for语句让用户输入所有考试成绩并存储该学生编号,如果C键要求输入学生编号,显示结果否则显示消息,这不是有效选项

***到目前为止我有这个......

我试图找出如何让用户输入他们的分数(询问他们的学生号是什么(第一个数组部分),然后为该学生号输入他们的考试分数。

然后第二部分,回到while循环,如果他们选择查看最终成绩,程序会询问他们的学生编号,并返回该学生编号的平均分数。

import java.util.*;
import javax.swing.JOptionPane;
public class examgrades {

    public static void main(String[] args)
    {

    //Define variables
    int numStudents=0;
    int numExams=0;
    int studScore=1;
    char studGrade='a';
    int studChoice=1;
    char userChoice;
    boolean keepGoing=true;

    //Get number of students
    System.out.println("Please enter the number of Students: ");
    Scanner reader = new Scanner(System.in);
    numStudents=reader.nextInt();

    //Get number of Exams   
    System.out.println("Thank you, now please enter the number of exams this semester: ");
    Scanner reader1 = new Scanner(System.in);
    numExams=reader1.nextInt();

    //Create array
    int [][] studentResults = new int [numStudents][numExams];

    //Create intial program loop
    while (keepGoing);

        //Ask user to Press S to enter exam scores for a student, C to check a final grade, or E to Exit
        System.out.println("Press S to enter exam scores for a student, C to check a final grade, or E to Exit");
        Scanner reader2 = new Scanner(System.in);
        String userIn=reader2.nextLine();
        //Parse into Char
        userChoice=userIn.charAt(0);

        //Check for exit
        if (userChoice=='e' || userChoice=='E') {keepGoing=false; System.out.println("Program is exiting... \n");}

        //Enter Scores if User chose S


        //Check final Grade if user chose C

共有1个答案

丁绪
2023-03-14

下面是代码中一个很难发现的错误:

while (keepGoing);

声明循环的正确方法如下:

while (keepGoing) {
    // body
}

那是 在循环结束时,条件的作用是创建一个没有主体的循环,因此没有重复的内容!循环下面的代码只执行一次。

 类似资料:
  • 问题内容: 我正在尝试检查2D数组中每个元素的相邻值,但是当我到达数组的边或角落时,得到了IndexOutOfBoundsException。例如,如果我的数组是: | 2 | 4 | 2 | 7 | 8 | | 8 | 1 | 0 | 5 | 6 | | 0 | 3 | 1 | 5 | 2 | | 1 | 9 | 7 | 2 | 0 | 我知道8的所有邻居都是7,5和6,但是我的陈述并没有正确检

  • 在java.util.scanner.throwfor(未知源)在java.util.scanner.next(未知源)在java.util.scanner.nextint(未知源)在java.util.scanner.nextint(未知源)在test.main(test.java:6) 如何修复以及如何在数组中输入字符串

  • 问题内容: 我试图通过取元素的平均值将numpy数组分组为较小的大小。例如,将100x100阵列中的平均5x5子阵列的foreach平均值创建20x20大小的阵列。由于需要处理大量数据,这是一种有效的方法吗? 问题答案: 我已经尝试过使用较小的阵列,因此请与您的阵列进行测试: 6x6-> 3x3的示例:

  • 我正在尝试使用用户输入将数字放入一个数组,然后找到这些数字的平均值,也找到哪些数字大于平均值。这些数字进入一个数组,但当我试图求平均数时,我无法求出平均数,以及哪些数字大于平均数,因为对于试图求出大于平均数的数字的部分,并非所有变量都是可见的。但是,当我允许这个部分看到所有的变量(don't But{}围绕某些部分)时,它会找到每一个数的平均值。现在,它为每个数字打印平均值,而为大于平均值的数字打

  • Python是否有一个SciPy函数或NumPy函数或模块来计算给定特定窗口的一维数组的运行平均值?

  • 问题内容: 是否有一种简单的方法来查找二维数组中某个元素的邻居(即,元素周围的八个元素)?缺少只是以不同的组合减去和增加索引,像这样: … 等等。 问题答案: (伪代码) 当然,这几乎要花费原始硬编码解决方案的许多行,但是通过这一解决方案,您可以最大程度地扩展“邻居”(2-3个或更多单元格)