谁能告诉我怎么回事~~~~(>_<)~~~~
/***求数组中的最大值、最小值、平均值与总和
* 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数。
----------------解决方案--------------------------------------------------------
可能最近头脑短路了 怎么就查不出哪里出问题了 请高手指点
----------------解决方案--------------------------------------------------------
程序代码:
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的作用吗?
都还没有给数组赋值,难道这里可以获取后面数组的值吗?
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!谢啦 ----------------解决方案--------------------------------------------------------