Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算5个测试分数的平均值_Java - Fatal编程技术网

Java 计算5个测试分数的平均值

Java 计算5个测试分数的平均值,java,Java,我的代码要求用户输入5个测试分数,然后计算5个测试分数的平均值。代码编译和运行得很好,但我的问题是:我的代码输出的对话框比需要的多。我想尝试找到一种方法,一次显示所有输出,或者使用更少的对话框。我是Java新手,所以我还在学习。如果您运行代码,您将更好地理解我试图表达的意思 更新:有没有人知道为什么我的成绩窗口中会出现0.0级的成绩?最好的办法是什么 import javax.swing.JOptionPane//GUI所需的 导入java.text.DecimalFormat//需要格式化输

我的代码要求用户输入5个测试分数,然后计算5个测试分数的平均值。代码编译和运行得很好,但我的问题是:我的代码输出的对话框比需要的多。我想尝试找到一种方法,一次显示所有输出,或者使用更少的对话框。我是Java新手,所以我还在学习。如果您运行代码,您将更好地理解我试图表达的意思

更新:有没有人知道为什么我的成绩窗口中会出现0.0级的成绩?最好的办法是什么

import javax.swing.JOptionPane//GUI所需的
导入java.text.DecimalFormat//需要格式化输出
公共类DTTestAverage和Grade
{//开始上课
公共静态void main(字符串[]args)
{//beginmain方法
String inputString;//用于读取器的输入
double Score1,//定义Score1
Score2,//定义Score2
Score3,//定义Score3
Score4,//定义Score4
Score5,//定义Score5
平均;//定义平均值
DecimalFormat formatter=新的DecimalFormat(“#,##0.0”);//设置分数格式
//得了五分
输入字符串=
JOptionPane.showInputDialog(“输入第一个测试分数:”);//要求用户输入第一个测试分数
Score1=Double.parseDouble(inputString);
输入字符串=
JOptionPane.showInputDialog(“输入第二个测试分数:”);//要求用户输入第二个测试分数
Score2=Double.parseDouble(inputString);
输入字符串=
JOptionPane.showInputDialog(“输入第三个测试分数:”);//要求用户输入第三个测试分数
Score3=Double.parseDouble(inputString);
输入字符串=
JOptionPane.showInputDialog(“输入第四个测试分数:”);//要求用户输入第四个测试分数
Score4=Double.parseDouble(inputString);
输入字符串=
JOptionPane.showInputDialog(“输入第五个测试分数:”);//要求用户输入第五个测试分数
Score5=Double.parseDouble(inputString);
//调用方法CalAverage并输出5个测试平均值
平均值=平均值(1分、2分、3分、4分、5分);
//显示平均测试分数,确定每个测试的字母等级,并调用DetermingGrade
JOptionPane.showMessageDialog(null),\t\n您的分数1是:“+formatter.format(Score1)+”\t Grade:“+determineGrade(Score1)
+“\t\n您的分数2是:”+formatter.format(分数2)+“\t Grade:”+determineGrade(分数2)
+“\t\n您的分数3是:”+formatter.format(分数3)+“\t Grade:”+determineGrade(分数3)
+“\t\n您的分数4是:“+formatter.format(分数4)+”\t Grade:“+determineGrade(分数4)
+“\t\n您的分数5是:“+formatter.format(分数5)+”\t Grade:“+determineGrade(分数5)
+“\t\n您的平均值是:”+格式化程序。格式化(平均值)+“\t等级:”+确定等级(平均值),
“\t您的测试结果”,JOptionPane.INFORMATION\u消息);
}//端主方法
//计算五个测试分数的平均值
公开静态双倍平均(双倍1分、双倍2分、双倍3分、双倍4分、双倍5分)
{
双倍平均=((得分1+得分2+得分3+得分4+得分5)/5);
收益率平均值;
}
//确定平均分和5个测试分数的字母等级
公共静态双精度等级(双平均)
{
字符级别;//定义级别
//确定字母等级
如果(平均值>=90)
{
等级=‘A’;
JOptionPane.showMessageDialog(空,等级+“\n”);
}
否则,如果(平均值>=80)
{
等级=‘B’;
JOptionPane.showMessageDialog(空,等级+“\n”);
}
否则,如果(平均值>=70)
{
等级=‘C’;
JOptionPane.showMessageDialog(空,等级+“\n”);
}
否则,如果(平均值>=60)
{
等级='D';
JOptionPane.showMessageDialog(空,等级+“\n”);
}

否则,如果(平均值,您可以输入一个字符串并拆分。 例如:

String inputString=
      JOptionPane.showInputDialog("Enter 5 test Scores with comma: "); //ask user to enter the 5 test scores at once

 String[] scores = inputString.split(",");
score1 = scores[0];
score2 = scores[1];
score3 = scores[2];
score4 = scores[3];
score5 = scores[4];
  JTextField score1 = new JTextField(10);
  JTextField score2 = new JTextField(10);
  JTextField score3 = new JTextField(10);
  JTextField score4 = new JTextField(10);
  JTextField score5 = new JTextField(10);

  JPanel scorePanel = new JPanel();
  scorePanel.add(new JLabel("First Test Score:"));
  scorePanel.add(score1);
  scorePanel.add(Box.createHorizontalStrut(15)); // a spacer
  scorePanel.add(new JLabel("Second Test Score:"));
  scorePanel.add(score2);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Third Test Score:"));
  scorePanel.add(score3);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fourth Test Score:"));
  scorePanel.add(score4);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fifth Test Score:"));
  scorePanel.add(score5);

  int result = JOptionPane.showInputDialog(null, scorePanel, 
           "Please enter all 5 test scores.");

  double Score1 = Double.parseDouble(score1.getText());
  double Score2 = Double.parseDouble(score2.getText());
  ... etc.

您可以输入一个字符串并将其拆分。 例如:

String inputString=
      JOptionPane.showInputDialog("Enter 5 test Scores with comma: "); //ask user to enter the 5 test scores at once

 String[] scores = inputString.split(",");
score1 = scores[0];
score2 = scores[1];
score3 = scores[2];
score4 = scores[3];
score5 = scores[4];
  JTextField score1 = new JTextField(10);
  JTextField score2 = new JTextField(10);
  JTextField score3 = new JTextField(10);
  JTextField score4 = new JTextField(10);
  JTextField score5 = new JTextField(10);

  JPanel scorePanel = new JPanel();
  scorePanel.add(new JLabel("First Test Score:"));
  scorePanel.add(score1);
  scorePanel.add(Box.createHorizontalStrut(15)); // a spacer
  scorePanel.add(new JLabel("Second Test Score:"));
  scorePanel.add(score2);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Third Test Score:"));
  scorePanel.add(score3);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fourth Test Score:"));
  scorePanel.add(score4);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fifth Test Score:"));
  scorePanel.add(score5);

  int result = JOptionPane.showInputDialog(null, scorePanel, 
           "Please enter all 5 test scores.");

  double Score1 = Double.parseDouble(score1.getText());
  double Score2 = Double.parseDouble(score2.getText());
  ... etc.

您几乎可以在
showInputDialog
对象
参数中放入任何内容。您很可能希望添加一个包含所需位的面板,例如:

String inputString=
      JOptionPane.showInputDialog("Enter 5 test Scores with comma: "); //ask user to enter the 5 test scores at once

 String[] scores = inputString.split(",");
score1 = scores[0];
score2 = scores[1];
score3 = scores[2];
score4 = scores[3];
score5 = scores[4];
  JTextField score1 = new JTextField(10);
  JTextField score2 = new JTextField(10);
  JTextField score3 = new JTextField(10);
  JTextField score4 = new JTextField(10);
  JTextField score5 = new JTextField(10);

  JPanel scorePanel = new JPanel();
  scorePanel.add(new JLabel("First Test Score:"));
  scorePanel.add(score1);
  scorePanel.add(Box.createHorizontalStrut(15)); // a spacer
  scorePanel.add(new JLabel("Second Test Score:"));
  scorePanel.add(score2);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Third Test Score:"));
  scorePanel.add(score3);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fourth Test Score:"));
  scorePanel.add(score4);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fifth Test Score:"));
  scorePanel.add(score5);

  int result = JOptionPane.showInputDialog(null, scorePanel, 
           "Please enter all 5 test scores.");

  double Score1 = Double.parseDouble(score1.getText());
  double Score2 = Double.parseDouble(score2.getText());
  ... etc.

然后像以前一样计算并显示结果。

您几乎可以在
showInputDialog
对象
参数中放入任何内容。很可能您需要添加一个包含所需位的面板,例如:

String inputString=
      JOptionPane.showInputDialog("Enter 5 test Scores with comma: "); //ask user to enter the 5 test scores at once

 String[] scores = inputString.split(",");
score1 = scores[0];
score2 = scores[1];
score3 = scores[2];
score4 = scores[3];
score5 = scores[4];
  JTextField score1 = new JTextField(10);
  JTextField score2 = new JTextField(10);
  JTextField score3 = new JTextField(10);
  JTextField score4 = new JTextField(10);
  JTextField score5 = new JTextField(10);

  JPanel scorePanel = new JPanel();
  scorePanel.add(new JLabel("First Test Score:"));
  scorePanel.add(score1);
  scorePanel.add(Box.createHorizontalStrut(15)); // a spacer
  scorePanel.add(new JLabel("Second Test Score:"));
  scorePanel.add(score2);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Third Test Score:"));
  scorePanel.add(score3);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fourth Test Score:"));
  scorePanel.add(score4);
  scorePanel.add(Box.createHorizontalStrut(15));
  scorePanel.add(new JLabel("Fifth Test Score:"));
  scorePanel.add(score5);

  int result = JOptionPane.showInputDialog(null, scorePanel, 
           "Please enter all 5 test scores.");

  double Score1 = Double.parseDouble(score1.getText());
  double Score2 = Double.parseDouble(score2.getText());
  ... etc.

然后像你已经做过的那样计算并显示结果。

不要让用户在五个单独的对话框中输入字符串,而是让他们在一个单独的对话框中输入所有五个字符串,并用空格或逗号分隔。然后在逗号或空白处拆分字符串。@eestrada:我也这么认为:-)谢谢你的回答!与其要求用户在五个单独的对话框中输入字符串,不如让他们在一个对话框中输入所有五个字符串,并用空格或逗号分隔。然后在逗号或空白处拆分字符串。@eestrada:我也这么认为:-)谢谢您的回答!谢谢你帮了大忙!谢谢你帮了大忙!谢谢你的回答!我现在就玩这个,以便更好地理解它是如何工作的!谢谢你的回答!我现在就玩这个,以便更好地理解它是如何工作的!