2016-11-17 107 views
0

所以我是一个开始的编码器,我正在打造一个类的程序,打印一个基本的二维数组与数据类似于学校成绩的程序。二维数组打印与标点

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 

我需要它来打印为“姓氏,名字级-X-T1Grade-Y”,而是它出来像这样

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

我真的不知道我”做错了,主要是标点符号和循环。我试着在本网站上查看其他二维阵列打印问题,但由于我在编码方面还很新,大多数其他问题或答案都超出了我的观点。任何提示你将不胜感激!

回答

0

不需要内循环。它迭代studentArray中的列数,因此它调用所有的System.out.prints每次迭代。您可以改为使用以下内容:

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