总计分为六次修改,代码可直接拿出来用,建立一个类即可,注意类名同步
解决总分平均分问题
import java.util.*;
public class student {
public static void main(String[] args){
//存储学生人数
Scanner in = new Scanner(System.in);
System.out.println(“请输入学生人数:”);
//存储课程数目
int renshu = in.nextInt();
System.out.println(“请输入课程的数目”);
int courseNum=in.nextInt();
//声明一个数组存储学生的姓名
String[] name=new String[renshu];
//声明一个数组存储学生课程名称
String[] course=new String[courseNum];
//声明一个二维数组存储成绩
int[][] number = new int[renshu][courseNum];
//声明总分的数组
int[] sum=new int[renshu];
//声明平均分数组
int[] avg=new int[renshu];
//循环存储课程的名称
for(int i=0;i<course.length;i++){
System.out.println(“请定义第”+(i+1)+“课程的名字”);
course[i]=in.next();
}
//用来录入学生的各科成绩
for(int i=0;i<renshu;i++){
int S=0;
System.out.println(“请输入学生的姓名:”);
name[i]=in.next();
for (int j=0;j<courseNum;j++){
System.out.println(“请输入学生:”+name[i]+course[j]+“的成绩”);
number[i][j]=in.nextInt();
S+=number[i][j];
}
sum[i]=S;
avg[i]=S/courseNum;
}
System.out.println();
System.out.print(“学生”);
for(int i=0;i<course.length;i++){
System.out.print("\t"+course[i]);
}
System.out.print("\t总分\t平均分\t排行榜");
System.out.println();
for(int i=0;i<renshu;i++){
System.out.print(name[i]);
for(int j=0;j<courseNum;j++){
System.out.print("\t"+number[i][j]);
}
System.out.print("\t"+sum[i]);
System.out.print("\t"+avg[i]);
System.out.println();
}
}
}
请输入学生人数:
1
请输入课程的数目
3
请定义第1课程的名字
语文
请定义第2课程的名字
数学
请定义第3课程的名字
英语
请输入学生的姓名:
王二
请输入学生:王二语文的成绩
1
请输入学生:王二数学的成绩
2
请输入学生:王二英语的成绩
3
学生 语文 数学 英语 总分 平均分 排行榜
王二 1 2 3 6 2
解决排行榜的问题,将所有成绩等整合为字符串
import java.util.*;
public class student {
public static void main(String[] args){
//存储学生人数
Scanner in = new Scanner(System.in);
System.out.println(“请输入学生人数:”);
//存储课程数目
int renshu = in.nextInt();
System.out.println(“请输入课程的数目”);
int courseNum=in.nextInt();
//声明一个数组存储学生的姓名
String[] name=new String[renshu];
//声明一个数组存储学生课程名称
String[] course=new String[courseNum];
//声明一个二维数组存储成绩
int[][] number = new int[renshu][courseNum];
//声明总分的数组
int[] sum=new int[renshu];
//声明平均分数组
int[] avg=new int[renshu];
//声明一个数组整合学生姓名成绩
String[] str =new String[renshu];
//循环存储课程的名称
for(int i=0;i<course.length;i++){
System.out.println(“请定义第”+(i+1)+“课程的名字”);
course[i]=in.next();
}
//用来录入学生的各科成绩
for(int i=0;i<renshu;i++){
int S=0;
System.out.println(“请输入学生的姓名:”);
name[i]=in.next();
String str11="";
for (int j=0;j<courseNum;j++){
System.out.println(“请输入学生:”+name[i]+course[j]+“的成绩”);
number[i][j]=in.nextInt();
S+=number[i][j];
str11+=number[i][j]+"\t";
}
sum[i]=S;
avg[i]=S/courseNum;
str[i]=name[i]+"\t"+str11+sum[i]+"\t"+avg[i];
}
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length-1;j++){
if(sum[j]<sum[j+1]){
int t1=sum[j]; String t2=str[j];
sum[j]=sum[j+1]; str[j]=str[j+1];
sum[j+1]=t1; str[j+1]=t2;
}
}
}
System.out.println();
System.out.print(“学生”);
for(int i=0;i<course.length;i++){
//循环输出各科的名称
System.out.print("\t"+course[i]);
}
System.out.print("\t总分\t平均分\t排行榜");
System.out.println();
for(int i=0;i<renshu;i++){
System.out.print(str[i]+"\t第"+(i+1)+“名”);
//循环输出学生名字
//System.out.print(name[i]);
//循环输出各科成绩
//for(int j=0;j<courseNum;j++){
// System.out.print("\t"+number[i][j]);
//}
//System.out.print("\t"+sum[i]);
//System.out.print("\t"+avg[i]);
System.out.println();//换行作用
}
}
}
请输入学生人数:
3
请输入课程的数目
3
请定义第1课程的名字
语文
请定义第2课程的名字
数学
请定义第3课程的名字
英语
请输入学生的姓名:
王二
请输入学生:王二语文的成绩
12
请输入学生:王二数学的成绩
56
请输入学生:王二英语的成绩
89
请输入学生的姓名:
李三
请输入学生:李三语文的成绩
34
请输入学生:李三数学的成绩
67
请输入学生:李三英语的成绩
89
请输入学生的姓名:
赵四
请输入学生:赵四语文的成绩
45
请输入学生:赵四数学的成绩
98
请输入学生:赵四英语的成绩
89
学生 语文 数学 英语 总分 平均分 排行榜
赵四 45 98 89 232 77 第1名
李三 34 67 89 190 63 第2名
王二 12 56 89 157 52 第3名