【发布时间】:2015-10-27 20:30:35
【问题描述】:
我正在为学校分配一项作业,以根据给定的输入计算平均考试成绩。当我输入 "-1" 时,它不会退出 do/while 循环。当我插入一个值时,计数不会增加,因此平均值计算不正确。
- 创建一个名为Average 的类。
- 尝试在 main 方法中使用单独的部分来声明所有变量、获取输入、执行处理和执行输出。为每个部分创建评论。
- 在 main 的声明部分,声明一个名为 average 的双精度变量。
- 在 main 的输入部分,使用 JOptionPane 显示一条打开消息,说明程序的用途。
- 在 main 的处理部分,通过调用名为 calcAverage() 的方法来分配平均值。
- 在 calcAverage 方法中,声明 int 变量 count、score 和 total,以及一个名为 average 的 double 变量。
- 同样在 calcAverage 方法中,使用 do-while 循环从用户那里获取分数,直到用户输入 -1 退出。 (您给用户的信息应该是“输入分数或 -1 退出”。)
- 在 calcAverage 方法中,计算平均分数并将该值返回给 main 方法。
- 在 main 的输出部分,显示一个 JOptionPane 窗口,其中显示(例如)“5 个分数的平均值为 75.8”。
import javax.swing.JOptionPane;
public class Average {
static int count = 0;
public static void main(String[] args) {
//Declaration section
double average;
//Input Section
calcAverage();
//Processing Section
average = calcAverage();
//Output Section
JOptionPane.showMessageDialog(null, "The average of the " + count + "scores is" + average);
} // end main
public static double calcAverage() {
int count = 0, score = 0, total = 0;
double average;
String input;
do {
input = JOptionPane.showInputDialog("Enter a score or -1 to quit");
score = Integer.parseInt(input);
total = total + score;
count++;
} while (score != -1);
average = (total / count);
return average;
} // end calcAverage
} // end class
【问题讨论】:
-
您的平均分数为零,不是吗?如果是这样,请参阅此问题:stackoverflow.com/questions/7220681/…
-
您在
main方法中调用了两次calcAverage()。
标签: java