2017-08-10 10 views
0
public static void main(String[] args){ 
    Random ran = new Random(); 
    int nums[][]; 
    nums = new int[3][5]; 

    for(int i=0;i<3;i++) 
     for(int j=0;j<5;j++){ 
      nums=new int[i][j]; 
      nums[i][j]=1+ran.nextInt(90); 
    } 
} 

答えて

0
nums=new int[i][j] 

あなたは、あなたがアクセス最後のインデックスが、インデックスをしようとしているnums=new int[i][j] =新しいあなたがNUMSを使用する必要があります長さ-1 にインデックス0で始まり長さiとyの 次の行を持つ配列を作成していますint型[I-1]〜[J-1]あなたがラインを呼び出しサイクルの最初の繰り返しで最後のインデックス

0

をフェッチする:nums = new int[i][j]を、しかし、i、jは0である。だから、本質的にあなたがnums = new int[0][0]、これを呼び出しているです有効なステートメントではありません。

私はあなたがしたいと思うのは、(行4のようにダブルサイクルの外で)一度アレイを割り当て、サイクル内の値だけを割り当てることです。 nums = new int[i][j]行を削除して、これが期待どおりかどうかを確認してください。私はあなたがこの声明で達成しようとしていることを得ていません。

+0

コメントありがとうございました。あなたのために働くソリューションをマークする正しい方法は、答えを受け入れることです。あなたは、役に立つと思われるすべての回答をupvoteすることもできます。これは、将来の読者が同様の問題を解決するのに役立ちます。 –

関連する問題