编写一个JAVA程序,实现从键盘输入三个学生的三门成绩并计算每个学生的平均分

如题所述

可以自定义人数,你还没学到面向对象吧,那就给个面向过程的
import java.util.Scanner;
public class StudentResult{
public static void main(String[] args){

Scanner x=new Scanner(System.in);
System.out.print("请输入学生的人数:");
int rs=x.nextInt();//输入学生人数,rs=学生数量
System.out.print("请输入课程数目:");
int sm=x.nextInt();//输入有几门课,sm=课程数目
String kc[]=new String[sm];//数组用来装各个课程名字
String xs[]=new String[rs];//数组用来装每个学生姓名
int fs[][]=new int[rs][sm];//数组用来装每个学生每门分数
for(int i=0;i<kc.length;i++){
System.out.print("请定义第"+(i+1)+"门课程是什么:");
kc[i]=x.next();
}
for(int i=0;i<xs.length;i++){
System.out.print("请输入第"+(i+1)+"个学生的姓名:");
xs[i]=x.next();
}
int zf[]=new int[rs];//每个学生总分
double pj[]=new double[rs];//每个学生平均分
String all[]=new String[rs];
for(int i=0;i<rs;i++){//i代表人名字
String cj="";
for(int j=0;j<sm;j++){//j代表课程名字
System.out.print("请输入第"+(xs[i])+(kc[j])+"的成绩");
fs[i][j]=x.nextInt();
zf[i]=zf[i]+fs[i][j];
cj=cj+fs[i][j]+"\t";}
pj[i]=(double)zf[i]/sm;
all[i]=xs[i]+"\t"+cj+zf[i]+"\t"+pj[i];
}
for(int j=0;j<xs.length-1;j++){
for(int i=0;i<xs.length-1;i++){
if(zf[i]<zf[i+1]){
int c=zf[i]; String d=all[i];
zf[i]=zf[i+1]; all[i]=all[i+1];
zf[i+1]=zf[i]; all[i+1]=d;}
}
}
System.out.print("学生\t");
for(int i=0;i<sm;i++){
System.out.print(kc[i]+"\t");}
System.out.print("总分\t平均分\t排行榜\t\n");
for(int i=0;i<xs.length;i++){
System.out.println(all[i]+"\t第"+(i+1)+"名");}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-14
public class TestAverage {
private static int[][] studentGrade = new int[3][3];
private static double[] average = new double[3];

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
TestAverage ta = new TestAverage();
int i = 0, j = 0;
while(sc.hasNext()) {
studentGrade[i][j] = sc.nextInt();
if(j == 2 && i == 2) {
break;
}
else if(j == 2) {
j = 0;
i++;
}else {
j++;
}
}
average[0] = ((studentGrade[0][0] + studentGrade[0][1] + studentGrade[0][2])/3);
average[1] = ((studentGrade[1][0] + studentGrade[1][1] + studentGrade[1][2])/3);
average[2] = ((studentGrade[2][0] + studentGrade[2][1] + studentGrade[2][2])/3);
System.out.println("第一个同学的平均成绩为:"+average[0]);
System.out.println("第二个同学的平均成绩为:"+average[1]);
System.out.println("第三个同学的平均成绩为:"+average[2]);
}
}
输入9个数字回车就行本回答被网友采纳
相似回答