2016-05-12 12 views
-2

これは問題である。2次元配列をJavaで別々に取得する方法は?

int [][]hours = new int[3][2]; 

週末(金&土)時間を格納3の各々に対して(部分的な時間が働いていないと仮定)に働いた:次の宣言は、所与

(G)従業員。

  • 平均時間は、各従業員が働いていたすべての従業員が働いていた全体の合計時間を

    1. 計算して印刷:

      はへのJavaコードのスニペットを書きます。

    配列にデータが格納されているとします。

  • そして、私は完全にこれは私が推測することができるすべてで迷ってしまいました。これを考慮

    int [][] hours = new int[3][2]; 
    
    for (int i = 0; i++; i < hours[0].length){ 
        int totalHours; 
        for(int j = 0 j++; j < hours[1].length){ 
         totalHours = totalHours + hours[i][j]; 
         System.out.println("The total hours employee " + j + "worked is " + totalHours + "."); 
        } 
        totalHours = 0; 
    } 
    
    +1

    最初の 'for'ループでは、配列の行数を取得するために' i Logan

    +2

    "これは質問です:..."。私はポストで質問を見つけるのが難しいです。これは構文的にも間違っています。 – ChiefTwoPencils

    答えて

    0

    は宿題の問題であり、私は右のトラックにあなたを操縦しようとします。

    2dアレイに正しくアクセスしていません。

    2次元配列のすべての要素にアクセスする方法の例を次に示します。まず、あなたのforループの

    int [][] hours = new int[3][2]; 
    
    for(int i = 0; i < hours.length; i++) //correct way to initialize a for loop 
    { 
        //do foo to the outer array; 
    
        for(int j = 0; j < hours[i].length; j++) 
        { 
         //do foo to the inner arrays 
        } 
    } 
    
    +0

    これは過去の試験問題でした。私は何時間もの研究から半減していたので、私が望んでいたよりもはるかに乱れてしまったのです。私は今日のテストを受けており、私の講義はテストに関してあいまいであることを好むので、私はすべての過去の試験の質問を行う方法を知っていることを確認しようとしていました。 ヘルプありがとうございます:) –

    1

    が正しくありません。だからあなたのループはあなたの条件として、この

    for (int i = 0; i < hours[0].length; i++) 
    

    ようになっているはずのために、あなたはループの入れ子になったとの2D配列をトラバース方法は、外でこの

    for(init variable; condition; increment) 
    

    のようなforループ記述する必要がありますループが行を下ろします。したがって、最初の条件は次のようになります。

    i < hours.length 
    

    次に、内側のループは外側のループのiの値に基づいています。だからあなたの内部ループ条件は

    j < hours[i].length 
    
    0

    でなければなりません。問題はforループです。以下は訂正されたコードです:

    int[][] hours = new int[3][2]; 
    
    for(int i=0; i<hours.length; i++){ 
        int totalHours = 0; 
        for(int j =0; j< hours[i].length; j++){ 
         totalHours = totalHours + hours[i][j]; 
        } 
        System.out.println("The total hours employee " + i + " worked is " + totalHours +"."); 
    }