2016-11-17 5 views
0

Also bin ich ein Anfänger-Programmierer und ich arbeite an einem Programm für Klasse, die eine grundlegende 2D-Array mit Daten ähnlich einem Schulklasse-Programm druckt.2D-Array Drucken mit Interpunktion

public class Skyward { 
    public void Student(){ 
     String [][] studentArray=new String[3][4]; 

     String lastName1="Brown"; 
     String lastName2="Johnson"; 
     String lastName3="Michaelson"; 
    //variables for LastName 

     String name1="Bob"; 
     String name2="Jenny"; 
     String name3="Michael"; 
    //variables for FirstName 

     String grade1="11"; 
     String grade2="10"; 
     String grade3="12"; 
    //variables for Grade 

     String t1grade1="A"; 
     String t1grade2="C"; 
     String t1grade3="F"; 
    //variables for T1Grade 

    studentArray[0][0]=lastName1; 
    studentArray[0][1]=name1; 
    studentArray[0][2]=grade1; 
    studentArray[0][3]=t1grade1; 

    studentArray[1][0]=lastName2; 
    studentArray[1][1]=name2; 
    studentArray[1][2]=grade2; 
    studentArray[1][3]=t1grade2; 

    studentArray[2][0]=lastName3; 
    studentArray[2][1]=name3; 
    studentArray[2][2]=grade3; 
    studentArray[2][3]=t1grade3; 

for (int row=0; row < studentArray.length; row++) { 
     for (int col=0; col < studentArray[row].length; col++){ 
      System.out.print(studentArray[row][col]); 
      System.out.print(", "); 
      System.out.print(" -Grade- "); 
      System.out.print(" T1Grade- "); 
    }//end inner loop 
     System.out.println(""); 
    }//end outer loop 
}//end method 
    }//end class 

Ich brauche es als "Nachname, Vorname-Grade-x-T1Grade-y", sondern es kommt wie diese

 Brown, -Grade- T1Grade- Bob, -Grade- T1Grade- 11, -Grade- T1Grade- A, -Grade- T1Grade- 

Ich bin nicht wirklich sicher zu drucken, was ich m tun falsch, vor allem auf die Interpunktion und für Schleifen. Ich habe versucht, andere 2D-Array-Druckprobleme auf dieser Website zu betrachten, aber da ich noch ziemlich neu im Codieren bin, gehen mir die meisten anderen Fragen oder ihre Antworten über den Kopf. Alle Tipps, die Sie haben, würden sehr geschätzt werden!

Antwort

0

Die innere Schleife wird nicht benötigt. Es iteriert für die Anzahl der Spalten in studentArray, also ruft es alle System.out.prints jede Iteration auf. Sie könnten stattdessen Folgendes verwenden:

for (int row=0; row < studentArray.length; row++) { 
     System.out.print(studentArray[row][0]) 
     System.out.print(", " + studentArray[row][1]); 
     System.out.print(" -Grade- " + studentArray[row][2]); 
     System.out.print(" T1Grade- " + studentArray[row][3]); 
     System.out.println(""); 
}//end loop 
Verwandte Themen