java吧 关注:1,246,005贴子:12,721,606
  • 15回复贴,共1

新手在运行代码的时候碰到一个问题 求高手帮我解决看看

只看楼主收藏回复

import java.util.*;
public class E{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入有几门课程");
int coursenum=in.nextInt(); //存储课程数目
System.out.println("请输入有几个学生");
int renshu=in.nextInt(); //存储学生人数
String[] course=new String[coursenum]; //声明数组存储课程名称
String[] name=new String[renshu]; //声明数组存储学生姓名
int[][] number=new int[renshu][coursenum]; //构建存储学生成绩方法
String[] str=new String[renshu];
String str1=new String();
int s=0;
int[] avg=new int[renshu]; //学生平均分
int[] sum=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++)
{
System.out.println("请输入第"+(i+1)+"个学生的姓名");
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];
str1+=number[i][j]+"\t";
}
sum[i]=s;
avg[i]=s/coursenum;
str[i]=name[i]+"\t"+str1+sum[i]+"\t"+avg[i];
}
for(int i=0;i<renshu-1;i++){
for(int j=0;j<renshu-1;j++){
if(sum[j]<sum[j+1]){
String t2=str[j];
str[j]=str[j+1];
str[j+1]=t2;
}
}
}
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.println(str[i]+"\t第"+(i+1)+"名");}
}
}


IP属地:浙江1楼2013-04-24 16:24回复
    问题是,最后输出的时候 所有人的全部分数会都在第一栏
    检查不出问题在哪


    IP属地:浙江2楼2013-04-24 16:25
    回复
      有人在吗。


      IP属地:浙江3楼2013-04-24 16:35
      回复
        java吧的爱心呢。


        IP属地:浙江4楼2013-04-24 16:47
        回复
          我觉得应该是错在
          str[i]=name[i]+"\t"+str1+sum[i]+"\t"+avg[i];这一步上面


          IP属地:浙江5楼2013-04-24 16:49
          回复
            你要输出什么样式?


            6楼2013-04-24 16:49
            回复
              想问下楼主这段代码想实现什么???


              IP属地:陕西7楼2013-04-24 16:50
              收起回复
                你在写str[i]的时候每次循环完都没有把s=0和str1=""加上


                8楼2013-04-24 16:55
                收起回复
                  理想效果是这样的

                  做出来都是这样的


                  IP属地:浙江9楼2013-04-24 16:56
                  收起回复