java题求助!谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:14:01
我想在运行时手动输入学号,平时成绩,期中成绩期末上机,期末笔试数据,输入数据之后在执行求平均成绩的计算,不知道程序该改哪里,题目如下:

已知某班学生Java程序设计课程各阶段的成绩如下:
学号 平时成绩 期中成绩 期末上机 期末笔试
101 90 88 87 84
102 78 60 70 75
103 90 86 91 93
104 50 44 36 60
105 88 87 90 92
106 64 72 70 80
107 60 61 55 55
108 81 84 83 87
请按以下要求编写程序:
(1) 定义类及成员方法完成学生总评成绩的计算,计算方法是:平时成绩占10%,期中考试占25%,期末考试的上机部分占15%,期末笔试部分占50%。
(2) 输出这八个学生Java程序设计的最后成绩单,要求有学号、各阶段成绩及最后的总评成绩。
(3) 统计并输出得分超过80分(含80分)的学生学号及总评成绩。
(4) 统计并输出得分低于60分(不含60分)的学生学号及总评成绩。
(5) 按总评成绩从高到低输出成绩单。
(6) 计算并输出全班的平均分。
提示:数值变量可以先定义成字符串型,然后再转换成数值进行运算和输出。
程序如下:

public class stu

//人数异常的帮助你捕获了下。其他的成绩数值异常我没帮你捕获了,你自己改改吧。应该符合你的要求了。。

import javax.swing.JOptionPane;

public class student {
public static void main(String[] args) {
int[] no;
int[] usua;
int[] mid;
int[] endo;
int[] end;
double[] comment;
double avg;
int jilu = 0;
int beifen = 0;
String x = "";
int bei = 0;
do {
try {
x = JOptionPane.showInputDialog("一共有多少学生?");
jilu = Integer.parseInt(x);
beifen = jilu;
bei = 1;
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "请检查你的是不是数字");
}
} while (bei != 1);
no = new int[jilu];
usua = new int[jilu];
mid = new int[jilu];
endo = new int[jilu];
end = new int[jilu];
comment = new double[jilu];
for (int i = 0; i < no.length; i++) {
x = JOptionPane.showInputDialog("输入第" + (