【发布时间】:2014-11-17 23:56:45
【问题描述】:
警告: 我对 Java 和一般编程非常陌生。我会尽量说清楚。
我正在尝试获取一个简单的整数 (inputnumber),将其转换为字符串 (temp),创建一个新的 int[] 数组 (numberarray),然后循环遍历这个 int[] 数组,从最后一个数字开始,并打印出该数字的名称。
我很确定由于 Eclipse 调试,从整数到字符串到 int[] 数组的转换是正常的,但是我很难理解为什么我会从 Eclipse 中得到一个针对如此简单的 for 循环的 ArrayOutOfBounds 消息。任何关于我做错了什么的线索都值得赞赏。
String temp = inputnumber.toString();
int[] numberarray = new int[temp.length()];
for (int i=0;i<temp.length();i++) {
numberarray[i] = temp.charAt(i);
}
for (int i=temp.length();i>0;i--) {
if (numberarray[i]==1) System.out.print("one.");
if (numberarray[i]==2) System.out.print("two.");
if (numberarray[i]==3) System.out.print("three.");
if (numberarray[i]==4) System.out.print("four.");
if (numberarray[i]==5) System.out.print("five.");
if (numberarray[i]==6) System.out.print("six.");
if (numberarray[i]==7) System.out.print("seven.");
if (numberarray[i]==8) System.out.print("eight.");
if (numberarray[i]==9) System.out.print("nine.");
if (numberarray[i]==0) System.out.print("zero");
}
我得到的 Eclipse 错误消息是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at jt.Intermediate8.main(Intermediate8.java:44)
【问题讨论】:
标签: java arrays for-loop indexoutofboundsexception