2016-05-01 8 views
0

私はこのコードを実行しています:Javaのランタイムエラー

/* package whatever; // don't place package name! */ 

import java.util.*; 
import java.lang.*; 
import java.io.*; 


class Ideone 
{ 
public static int solution(int X, int[] A) { 
    int[] myNumbers = new int[X]; 
    for (int i = 0; i < A.length; i++){ 
     myNumbers[A[i]] = A[i]; 

     } 
     return -1; 

} 

public static void main (String[] args) throws java.lang.Exception 
{ 
    // your code goes here 
    int[] A = {1,3,1,4,2,3,5,4}; 
    System.out.println(solution(5,A)); 
} 
} 

しかし、私は実行時エラーを取得します。どうしてか分かりません。その値をインデックスとして別の配列に配列の値を格納する必要があります。 IEのmyNumbers [4] = 4

+0

ただし、実行時エラーが発生します。私は私の質問にエラーを含めるつもりはない。私は気にすることができませんでした。私はあなた自身でそれを理解することを期待しています... – John3136

答えて

2

myNumberインデックスはあなたが

をだから、存在のいずれかsolutionに6を渡すかそこら(myNumber[A[i]-1]を使用していないインデックス5にアクセスしようとしているいくつかの点で、0から4まで行きますmyNumber [0] = 1)