当前位置: 代码迷 >> Java相关 >> 谁能告诉我怎么回事~~~~(>_<)~~~~
  详细解决方案

谁能告诉我怎么回事~~~~(>_<)~~~~

热度:100   发布时间:2010-09-16 23:23:51.0
谁能告诉我怎么回事~~~~(>_<)~~~~
/**
*求数组中的最大值、最小值、平均值与总和
* 2010/9/13
*/


public class Array
{
    public static void main (String[] args)
    {
        int[]ary = new int[10];
        int max = ary[0];
        int min = ary[0];
        int sum = 0;
        int average;
   
        
        for (int i = 0; i<ary.length; i++)
        {
            ary[i]=Integer.parseInt(args[i]);
            sum = sum + ary[i];
            if(ary[i]>=max)
                max = ary[i];
            if(ary[i]<=min)    //这里有问题吗?
                min = ary[i];
        
        }
        
        average = sum/10;
        
        System.out.println ("最大值:"+max);
        System.out.println ("最小值:"+min);
        System.out.println ("平均值:"+average);
        System.out.println ("总  和:"+sum);
    }
}

怎么计算的最小值都是0呀,不管输入什么非0数。
搜索更多相关的解决方案: max  class  average  public  平均值  

----------------解决方案--------------------------------------------------------
可能最近头脑短路了   怎么就查不出哪里出问题了  请高手指点
----------------解决方案--------------------------------------------------------
程序代码:

    public static void main(String[] args) {
        int[]ary = new int[10];
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        int sum = 0;
        int average;
        
        for (int i = 0; i<ary.length; i++)
        {
            ary[i]=Integer.parseInt(args[i]);
            sum = sum + ary[i];
            if(ary[i]>=max)
                max = ary[i];
            if(ary[i]<=min)   
                min = ary[i];
        
        }
        
        average = sum/10;
        
        System.out.println ("最大值:"+max);
        System.out.println ("最小值:"+min);
        System.out.println ("平均值:"+average);
        System.out.println ("总  和:"+sum);
    }


[ 本帖最后由 shellingford 于 2010-9-17 00:05 编辑 ]
----------------解决方案--------------------------------------------------------
int[]ary = new int[10];
int数组中的元素默认为0;ary数组中的元素没有赋值
----------------解决方案--------------------------------------------------------
int min = ary[0];
min = 0  所以不管你怎么输入, ary[i] 都不会小于 min
----------------解决方案--------------------------------------------------------
回复 3楼 shellingford
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;  //能告诉我这两行代码后面的Integer.MIN_VALUE的作用吗?
都还没有给数组赋值,难道这里可以获取后面数组的值吗?

----------------解决方案--------------------------------------------------------
以下是引用kekin在2010-9-17 18:38:10的发言:

        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;  //能告诉我这两行代码后面的Integer.MIN_VALUE的作用吗?
都还没有给数组赋值,难道这里可以获取后面数组的值吗?


Integer.MIN_VALUE; 是int类型最小的值,这意味着你后面无论输入什么int类型的数据都是大于等于他
Integer.MAX_VALUE;正好相反,是int类型最大的值。
----------------解决方案--------------------------------------------------------
回复 7楼 shellingford
ok!谢啦
----------------解决方案--------------------------------------------------------
  相关解决方案