2016-05-12 2 views
-2

ist die Frage:Wie bekomme ich Zahlen in einem 2-D-Array in Java? Diese

(g) In Anbetracht der folgenden Erklärung:

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

, die das Wochenende speichert (Fr & Sa) Arbeitsstunden (nehmen keine Teilarbeitsstunden) für jede der drei Angestellte.

schreiben einen Schnipsel von Java-Code:

  1. berechnen und drucken Sie die Gesamtsumme von allen Mitarbeitern gearbeiteten Stunden

  2. die durchschnittlichen Stunden von jedem Mitarbeiter gearbeitet.

Angenommen das Array mit Daten gefüllt worden ist.

Und ich bin völlig verloren das alles ist, ich denke, könnte:

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

In Ihrer ersten 'for' Schleife sollte es nur' i Logan

+2

"Das ist die Frage: ...". Ich habe Probleme, eine Frage in der Post zu finden. Dies ist auch syntaktisch falsch. – ChiefTwoPencils

Antwort

0

In Anbetracht dieser ist ein Hausaufgaben Problem, werde ich versuchen, Sie auf dem richtigen Weg zu lenken.

Zunächst einmal greifen Sie nicht korrekt auf das 2d-Array zu.

Hier ist ein Beispiel für den Zugriff auf jedes Element in einem 2D-Array.

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

Es war eine Prüfungsfrage in der Vergangenheit. Ich war halb tot von Stunden des Studiums, deshalb ist es viel mehr durcheinander als ich gehofft hatte. Ich habe heute einen Test und mein Vortrag mag es, vage über Tests zu sein, also habe ich versucht, sicherzustellen, dass ich weiß, wie man jede frühere Prüfungsfrage macht. Danke für die Hilfe obwohl :) –

1

Zu allererst Ihre for Schleifen sind nicht korrekt. Die for-Schleife sollte wie dieses

for(init variable; condition; increment) 

So geschrieben werden, um Ihre for-Schleifen wie diese Was Ihre Bedingungen

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

aussehen sollte, die Art und Weise durchqueren Sie ein 2D-Array mit verschachtelten for-Schleifen ist die äußere Schleife wird in den Zeilen nach unten gehen. So sollte Ihre erste Bedingung gehen wie diese

i < hours.length 

Dann ist Ihre innere Schleife auf der aktuellen Zeile oder den Wert von i in der äußeren Schleife basiert. So sollte Ihre innere Schleife Bedingung sein

j < hours[i].length 
0

Das Problem ist mit der for-Schleife. Unten ist der korrigierte Code:

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 +"."); 
} 
Verwandte Themen