Java 将列表更改为数组以计算平均成绩等
我必须创建一个程序,在一个方法中使用数组来获取用户输入的学生成绩。然后,在另一种方法中,我必须计算这些分数,并计算最小值、最大值、平均值等 请记住,我还是java初学者。 ----------我已经解决了菜单问题: ---我也有问题,让菜单正常工作。它需要打印并重复,直到用户键入5退出- 编辑编码:Java 将列表更改为数组以计算平均成绩等,java,arrays,methods,Java,Arrays,Methods,我必须创建一个程序,在一个方法中使用数组来获取用户输入的学生成绩。然后,在另一种方法中,我必须计算这些分数,并计算最小值、最大值、平均值等 请记住,我还是java初学者。 ----------我已经解决了菜单问题: ---我也有问题,让菜单正常工作。它需要打印并重复,直到用户键入5退出- 编辑编码: import java.util.Scanner; { public static void main(String[] args) { Scanner keyboard = n
import java.util.Scanner;
{
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Please enter the number of students: ");
int numStudents = keyboard.nextInt();
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int total = 0;
for (int i=0; i<numStudents; i++){
System.out.println("Please enter the grade of student" + (i+1));
int grade = keyboard.nextInt();
max = Math.max(max, grade);
min = Math.min(min, grade);
total += grade;
}
double average = total/numStudents;
//menu here//
System.out.println("Please choose form the following options: ");
System.out.println("1- Display minimum grade");
System.out.println("2- Display maximum grade");
System.out.println("3- Display average");
System.out.println("4- Display the standard deviation");
System.out.println("5- Exit");
System.out.print("-> ");
int menu = keyboard.nextInt();
if(menu==1)
{
System.out.println("The maximum grade is: " + max);
}
if(menu==2)
{
System.out.println("The minimum grade is: " + min);
}
if(menu==3)
{
System.out.println("The average is: " + average);
}
if(menu==4)
{
System.out.println("The standard deviation is: ");
}
if(menu==5)
{
System.out.println("Exit");
}
do{
System.out.println("Please choose form the following options: ");
System.out.println("1- Display minimum grade");
System.out.println("2- Display maximum grade");
System.out.println("3- Display average");
System.out.println("4- Display the standard deviation");
System.out.println("5- Exit");
System.out.print("-> ");
int menu1 = keyboard.nextInt();
if(menu==1)
{
System.out.println("The maximum grade is: " + max);
}
if(menu1==2)
{
System.out.println("The minimum grade is: " + min);
}
if(menu1==3)
{
System.out.println("The average is: " + average);
}
if(menu1==4)
{
System.out.println("The standard deviation is: ");
}
if(menu1==5)
{
System.out.println("Exit");
return;
}
}while(menu!=5);
}
}
import java.util.Scanner;
{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
系统输出打印(“请输入学生人数:”);
int numStudents=keyboard.nextInt();
int max=整数的最小值;
int min=整数最大值;
int-total=0;
对于(int i=0;i当您使用java时,请尝试使用OOP概念解决此场景。如果您需要更多说明,请告诉我解决此系统将非常容易
使用getter和setter方法以学生身份创建类
然后将最小、最大、平均逻辑划分为不同的类
这将是一个明确的方法。您的代码中有冗余。您不必编写两次菜单。
此外,您需要使用System.exit(0)退出您的程序,而不是返回。
在您的while条件中应该是(menu1!=0),但是您已经编写了(menu!=0)。
您也可以使用break语句。看起来您已经让它工作了(标准偏差部分除外),但是您的代码有点多余。您将菜单打印了两次,这是不必要的
也许可以创建一个类似以下的方法:
public static int printMenu()
{
System.out.println("Please choose form the following options: ");
System.out.println("1- Display minimum grade");
System.out.println("2- Display maximum grade");
System.out.println("3- Display average");
System.out.println("4- Display the standard deviation");
System.out.println("5- Exit");
System.out.print("-> ");
return 0;
}
然后使用while循环重新格式化条件语句,类似于:
while (menu != 5)
{
if(menu==1)
{
System.out.println("The maximum grade is: " + max);
}
if(menu==2)
...
printMenu();
menu = keyboard.nextInt();
}
我是一个编程新手,不知道这意味着什么。不过谢谢。你可以从这个链接中学到非常基本的OOP概念。我不太清楚这些概念到底意味着什么。我所知道的是,我的教授非常明确地告诉我们他要我们如何编程。