当前位置: 代码迷 >> Java相关 >> 这个程序是简单,但是没有小弟我想要的数组最大值 这个结果,求高手帮忙改正,指点一下
  详细解决方案

这个程序是简单,但是没有小弟我想要的数组最大值 这个结果,求高手帮忙改正,指点一下

热度:4357   发布时间:2013-02-25 21:46:46.0
这个程序是简单,但是没有我想要的数组最大值 这个结果,求高手帮忙改正,指点一下

import java.util.*;
public class Daxiao {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double a[]=new double[10];
double max;
  System.out.println("从键盘上输入十个数:");
  Scanner scan=new Scanner(System.in);
  for(int i=0;i<=10;i++){
  a[i]=scan.nextDouble(); 
  System.out.println("a["+i+"]"+a[i]);
  }
  max=a[0];
  for(int j=0;j<=10;j++){
  if(a[j]>max){
  max=a[j];
   
  } 
  }
  System.out.println("数组中最大数是:"+max);
}

}


------解决方案--------------------------------------------------------
还是细节问题:for(int i=0;i<=10;i++)数组长度是10.下标是从0开始算的,长度是从1开始算的,i是下标,最大值只能为9不能等于10,以后注意一下了。^_^

int a[] = new int[10];
int max;
System.out.println("从键盘上输入十个数:");
Scanner scan = new Scanner(System.in);
for (int i =0; i <10; i++) {
a[i]= scan.nextInt();

}

max = a[0];
for (int i = 0; i <a.length; i++) {
if (a[i] > max) {
max = a[i];


}
}
System.out.println("数组中最大数是:" + max);
------解决方案--------------------------------------------------------
i < 10
------解决方案--------------------------------------------------------
Java code
public class Test {    public static void main(String[] args) {        double a[] = new double[10];        double max;        System.out.println("从键盘上输入十个数:");        Scanner scan = new Scanner(System.in);        for (int i = 0; i < 10; i++) {            a[i] = scan.nextDouble();            System.out.println("a[" + i + "]" + a[i]);        }        max = a[0];        for (int j = 0; j < 10; j++) {            if (a[j] > max) {                max = a[j];            }            System.out.println("数组中最大数是:" + max);        }    }}
------解决方案--------------------------------------------------------
把for循环中的=号去掉,[0-10]共计11个数了,数组会越界的。
  相关解决方案