| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 434 人关注过本帖
标题:关于数组的问题(望有经验者给个祥细说明,为什么出错,谢谢 !)
只看楼主 加入收藏
mx250052
Rank: 2
等 级:论坛游民
帖 子:61
专家分:25
注 册:2009-3-1
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:1 
关于数组的问题(望有经验者给个祥细说明,为什么出错,谢谢 !)
程序代码:
import *;
public class Scores
{
  public static void main(String[] args)throws IOException
  {
     int max=0;
     int min=100;
     int sum=0;
     System.out.print("请输入学生人数:");
     InputStreamReader reader=new InputStreamReader(System.in);
     BufferedReader input=new BufferedReader(reader);
     String temp=input.readLine();
     //输入学生人数n
     int n=Integer.parseInt(temp);
     int [][]x=new int[n][5];
     //录入成绩
     for(int i=0;i<n;i++)
     {
       for(int j=0;j<5;j++)
       {
         System.out.print((i+1)+"号同学"+(j+1)+"号课程分数:");
         temp=input.readLine();
         x[i][j]=Integer.parseInt(temp);
         
       }
       
     }
     
     //计算并输出每一位同学的课程最高分、最低分和平均分
     for(int i=0;i<n;i++)
     {
        for(int j=0;j<5;j++)
        {
           if(x[i][j]>max)
              max=x[i][j];
           if(x[i][j]<min)
              min=x[i][j];
           sum+=x[i][j];
        }
        System.out.println((i+1)+"号同学的最高分:"+max);
        System.out.println((i+1)+"号同学的最低分:"+min);
        System.out.println((i+1)+"号同学的平均分:"+sum*1.0/5.0);
        
        max=0;
        min=100;
        sum=0;
     }
     //计算并输出每一门课程的班级最高分、最低分和平均分
[code][code]     for(int j=0;j<5;j++)
     {
        for(int i=0;i<n;i++)
        {
           if(x[i][j]>max)
              max=x[i][j];
           if(x[i][j]<min)
              min=x[i][j];
           sum+=x[i][j]; 
        }
        System.out.println((j+1)+"这门课程的最高分:"+max);
        System.out.println((j+1)+"这门课程的最低分:"+min);
        System.out.println((j+1)+"这门课程的平均分:"+sum*1.0/n);
        
        max=0;
        min=100;
        sum=0;
     }
[/code]
     
     
  }
}[/code]


当录入n=2,且成绩录入结束时,输出的没有问题
当我把其中的一部分代码改成了
     for(int j=0;j<5;j++)
     {
        for(int i=0;i<n;i++)
        {
           if(x[j][i]>max)
              max=x[j][i];
           if(x[j][i]<min)
              min=x[j][i];
           sum+=x[j][i];
        }
        System.out.println((j+1)+"这门课程的最高分:"+max);
        System.out.println((j+1)+"这门课程的最低分:"+min);
        System.out.println((j+1)+"这门课程的平均分:"+sum*1.0/n);
        
        max=0;
        min=100;
        sum=0;
     }
输出从原来的5门成绩(正确的输出)变成了2门成绩的错误输出?这 是怎么一回事啊~望有经验者祥细说明一下好吗?
搜索更多相关主题的帖子: 经验 
2009-07-28 09:32
usbboy2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:183
注 册:2009-7-31
收藏
得分:14 
x[i][j] 写成了 x[j][i]了
2009-07-31 15:23
快速回复:关于数组的问题(望有经验者给个祥细说明,为什么出错,谢谢 !)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023467 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved