根据教程写了一个class。运行之后与预期的结果不一致。怀疑是\t的问题。请大神们看一眼
/**
* Created by rabbit on 2014-4-15.
*/
import java.util.*;
public class A5_18 {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入学生的数量");
int renshu=in.nextInt();//接收学生的数量
System.out.println("请输入科目的数量");
int kemuNUM=in.nextInt();//接收科目的数量
String[] name=new String[renshu];//创建存储学生名字的数组
String[] kemu=new String [kemuNUM];//创建存储科目名字的数组
int [][] number= new int[renshu][kemuNUM];//创建存储学生成绩的数组
int [] sum=new int[renshu];//创建存储学生成绩总分的数组
int [] avg=new int[renshu];//创建存储学生平均成绩的数组
String[] arr=new String[renshu];//创建
for(int i=0;i<kemuNUM;i++)//循环输入课程的名称
{
System.out.println("请定义第"+(i+1)+"门课程的名字");
kemu[i]=in.next();
}
for(int i=0;i<renshu;i++)//循环输入学生名字的名称
{
int S=0;
System.out.println("请输入第"+(i+1)+"个人的名字");
name[i]=in.next();
String arr11="";
for(int j=0;j<kemuNUM;j++){//循环输入学生的成绩
System.out.println("请输入"+(name[i])+kemu[j]+"成绩");
number[i][j]=in.nextInt();
S+=number[i][j];
arr11+=number[i][j]+"\t";
}
sum[i]=S;
avg[i]=S/kemuNUM;
arr[i]=name[i]+"\t"+arr11+sum[i]+"\t"+avg[i];
}
for (int i=0;i<sum.length-1;i++){
for(int j=0;j<sum.length-1;j++){
if (sum[j]<sum[j+1]){
int t1=sum[j]; String t2=arr[j];
sum[j]=sum[j+1]; arr[j]=arr[j+1];
sum[j+1]=t1; arr[j+1]=t2;
}
}
}
System.out.print("学生");
for(int i=0;i<kemu.length;i++){
System.out.print("\t"+kemu[i]);
}
System.out.print("\t总分\t平均分\t排名");
System.out.println();
for (int i=0;i<renshu;i++){
System.out.println(arr[i]+"\t"+"第"+(i+1)+"名");
}
}
}
输出结果为
学生 语文 数学 英语 总分 平均分 排名流星 78 98 88 264 88 第1名刘 89 79 87 255 85 第2名
输出结果不能对齐
添加回答
举报
0/150
提交
取消