开发一个简单的班级平均成绩计算程序,使得程序每次运行时能够处理任意学生数的成绩。
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
public class Average2 {
public static void main(String[] args) {
int total; //用户的输入的分数总和
int gradeCounter; //分数个数计数器
int grade; //用户输入的分数
double average; //班级平均成绩
String gradeString; //用户输入的分数
//变量初始化
total = 0;
gradeCounter = 0;
//获取用户输入的第一个成绩并检验是否为标记值
gradeString = JOptionPane.showInputDialog( "输入学生分数或者输入-1取消输入:" );
//数据类型转化
grade = Integer.parseInt( gradeString );
while ( grade != -1 ) {
total = total + grade;
gradeCounter = gradeCounter + 1;
//获取用户输入的另外的分数
gradeString = JOptionPane.showInputDialog( "输入学生分数或者输入-1取消输入:" );
//数据类型转化
grade = Integer.parseInt( gradeString );
}
//格式化数字
DecimalFormat twoDigits = new DecimalFormat( "0.00" );
//判断用户是否有输入分数
if ( gradeCounter != 0 ) {
average = (double) total/gradeCounter; //计算平均成绩
//输出计算结果
JOptionPane.showMessageDialog( null, "班级平均成绩:" + twoDigits.format( average ),
"班级平均成绩", JOptionPane.INFORMATION_MESSAGE );
}
else { //如果没有成绩输入,输出以下内容
JOptionPane.showMessageDialog( null, "没有成绩输入", "班级平均成绩",
JOptionPane.INFORMATION_MESSAGE );
}
System.exit( 0 );
}
}
运行结果:
1>第一次即输入-1
2>第一次不输入-1