按int数组给出的顺序打印String数组

1 java arrays indexoutofboundsexception

我有一个随机数的int数组.我已经填充了一个字符串数组.我正在尝试按照System.out.printString数组中的顺序对应的顺序显示()int数组.

喜欢,如果int array[]={3,1,2},如果是初始的话String array[]={"a","b","c"},那我就像字符串数组一样打印出来

stringArray[intArray]={c, a, b}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,"a"索引0对应于数字1等.

我想知道我是否可以做一些事情(我试过,但我得到了一个"出界"异常,所以我猜它仍然可能):

for (int i=0; i<intArray.length; i++) {
    if(intArray[i] != 0) {
        System.out.println( stringArray[ intArray[i] ] );
    }
}
Run Code Online (Sandbox Code Playgroud)

我还尝试将循环的长度设置为length-1,但没有成功.

请注意,我正在尝试以基本方式使其工作,没有对象或方法.我读过一些关于a的内容TreeMap,但这已经太先进了.

Per*_*ror 5

请注意,数组索引从零开始,尝试减少从int数组中检索的值.

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