我有一个随机数的int数组。我已经填充了一个字符串数组。
我正在尝试按照与System.out.print
数组中的顺序对应的顺序显示String
int
数组。
喜欢,如果int array[]={3,1,2}
,如果是初始String array[]={"a","b","c"}
,那么我想将字符串数组打印为
stringArray[intArray]={c, a, b}
在此示例中,索引0处的"a"
将对应于数字1等
我想知道我是否可以做类似的事情(我试过,但我得到了一个“出界”异常,所以我猜它仍然可能):
for (int i=0; i<intArray.length; i++) {
if(intArray[i] != 0) {
System.out.println( stringArray[ intArray[i] ] );
}
}
我还尝试将循环的长度设置为length-1,但没有成功。
请注意,我正在尝试以基本方式使其工作,没有对象或方法。我读过有关TreeMap
的内容,但这已经过于先进了。
答案 0 :(得分:5)
请注意,数组索引以零开头,尝试减少从int数组中检索的值。
for (int i=0; i<intArray.length; i++) {
if(intArray[i] != 0) {
System.out.println( stringArray[ intArray[i]-1 ] );
}
}
答案 1 :(得分:2)
你的循环很好,但你必须确保int数组在[0..stringArray]范围内有int值。也就是说,如果stringArray的大小为5,则有效随机数位于闭区间[0,1,2,3,4]