黑马程序员技术交流社区
标题:
请问,这个程序为什么无法通过编译呢
[打印本页]
作者:
wangyuyus
时间:
2013-11-3 00:04
标题:
请问,这个程序为什么无法通过编译呢
package com.baidu.traffic;
import java.util.*;
public class shuzu {
/**将一个数组逆序输出
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
int a[]=new int[20];
System.out.println("请输入多个正整数(输入-1表示结束):");
int i=0,j;
while(a[i-1]!=-1){
a[i]=s.nextInt();
i++;
};
System.out.println("你输入的数组为:");
for( j=0;j<i-1;j++){
System.out.println(a[j]+" ");
}
System.out.println("\n数组逆序输出为:");
for( j=i-2;j>=0;j=j-1){
System.out.println(a[j]+" ");
}
}
}
作者:
王东
时间:
2013-11-3 00:14
package com.baidu.traffic;
import java.util.*;
public class shuzu {
/**将一个数组逆序输出
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
int a[]=new int[20];
System.out.println("请输入多个正整数(输入-1表示结束):");
int i=0,j;
while(a[i-1]!=-1){ //你这里数组越界了,本来是int i= 0 ,这里有个 i -1;
a[i]=s.nextInt();
i++;
};
System.out.println("你输入的数组为:");
for( j=0;j<i-1;j++){
System.out.println(a[j]+" ");
}
System.out.println("\n数组逆序输出为:");
for( j=i-2;j>=0;j=j-1){
System.out.println(a[j]+" ");
}
}
}
复制代码
加油,哥们
作者:
李复安
时间:
2013-11-3 00:30
while(a[i-1]!=-1这一行一开始就是判断a[-1]的,数组角标越界异常了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2