Java 按int数组给定的顺序打印字符串数组

Java 按int数组给定的顺序打印字符串数组,java,arrays,indexoutofboundsexception,Java,Arrays,Indexoutofboundsexception,我有一个带有随机数的整数数组。我已经填充了一个字符串数组。 我试图以与int数组中的顺序对应的顺序显示(System.out.print)字符串数组 比如,如果int数组[]={3,1,2},如果inital字符串数组[]={“a”,“b”,“c”},那么我希望字符串数组打印为 stringArray[intArray]={c, a, b} 在本例中,索引0处的“a”将对应于数字1,以此类推 我想知道我是否可以这样做(我试过了,但我得到了一个“越界”异常,所以我想这仍然是可能的): 对于(in

我有一个带有随机数的整数数组。我已经填充了一个字符串数组。 我试图以与
int
数组中的顺序对应的顺序显示(
System.out.print
字符串
数组

比如,如果
int数组[]={3,1,2}
,如果inital
字符串数组[]={“a”,“b”,“c”}
,那么我希望字符串数组打印为

stringArray[intArray]={c, a, b}
在本例中,索引0处的
“a”
将对应于数字1,以此类推

我想知道我是否可以这样做(我试过了,但我得到了一个“越界”异常,所以我想这仍然是可能的):


对于(int i=0;i请注意数组索引以零开始,请尝试减小从int数组检索到的值

for (int i=0; i<intArray.length; i++) {
        if(intArray[i] != 0) {
            System.out.println( stringArray[ intArray[i]-1 ] );
        }
}

对于(int i=0;i请注意数组索引以零开始,请尝试减小从int数组检索到的值

for (int i=0; i<intArray.length; i++) {
        if(intArray[i] != 0) {
            System.out.println( stringArray[ intArray[i]-1 ] );
        }
}

对于(int i=0;i您的循环正常,但必须确保int数组的int值在[0..stringArray)范围内。也就是说,如果您的stringArray大小为5,则有效的随机数在闭合区间[0,1,2,3,4]

您的循环正常,但必须确保int数组在[0..stringArray]中有int值范围。也就是说,如果stringArray的大小为5,则有效的随机数位于闭合区间[0,1,2,3,4]