【发布时间】:2013-12-06 09:25:10
【问题描述】:
它给出的答案没有问题,但有一个例外。
有人可以帮我理解为什么吗?
public static void main(String[] args) {
int a = 0,k=0;
Scanner obj = new Scanner(System.in);
System.out.println("enter string");
String s= obj.nextLine();
int b[]={0};
b= new int[10];
char c[]= s.toCharArray();
for(int i =0; i<s.length();i++){
if(c[i]=='a'|| c[i]=='i'|| c[i]=='o'||c[i]=='u'||c[i]=='e'){
b[k]=i;
k=k+1;
}
}
for(int j=0;j<15;j++){
if(b[j]!=0) {
System.out.println("\n"+b[j]);
}
}
}
我收到的异常是ArrayOutofbound exception at" if(b[j]!=0)"
【问题讨论】:
-
什么异常,在哪里?请更具体。
-
请格式化您的代码并告诉我们哪个异常发生在哪里,包括堆栈跟踪。
-
另外,代码无法编译。
c变量未在任何地方声明。 -
ArrayOutofbound 异常在“if(b[j]!=0)”
-
为什么要以这种方式初始化数组 int b[]={0}; b= 新的 int[10];