2013-10-09 56 views
0

此运行顺利从开始到该第一循环部分,但显示所述用户输入(在第二循环)时,程序停止并且存在在CMD消息:java.lang.ArrayIndexOutOfBoundsException错误

(Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at 
CaseStudy2A.main(CaseStudy2A.java:17) 

代码:

import java.util.Scanner; 
public class CaseStudy2A { 
    public static void main(String[] args) { 
     Scanner inp = new Scanner (System.in); 
     int inpNum; 
     System.out.print("Enter Number: "); 
     inpNum = inp.nextInt(); 

     int num[]=new int [inpNum]; 

     int accu; 

     for(int x=1;x<=inpNum;x++) { 
      System.out.print("\nNumber [" + x + "] : "); 
      accu = inp.nextInt(); 

      num[x]=accu; 
     } 
     for(int x=1;x<=inpNum;x++) 
      System.out.println(num[x] + " "); 
    } 
} 

回答

0

数组索引从零开始。

回路应

for(int x=1;x<inpNum;x++) { 

例如

inpNum= 5考虑然后

int num[]=new int [5]; //5 elements ,position 0,1,2,3,4 

num[5]抛出异常,由于阵列具有5个元素num[0]初始化为num[4]

甲ND也余缺,从x<=inpNum

0

的条件x<inpNum变化应for(int x=0;x<inpNum;x++) {

相关问题