2014-04-10 97 views
0

我必須製作一個程序,收集作業的總數和每個作業的學生標記。該程序會返回每個學生的作業標記。這是我現在的輸出窗口:顯示個別學生的標記

這個班有多少學生? 2 用戶輸入= assignmentLimit

您分配了多少個任務? 2 用戶輸入= studentLimit

分配新建分配FY1馬克:

學生1:41 用戶輸入

學生2:52 用戶輸入

分配新建分配FY2馬克:

學生1:74 用戶輸入

學生2:85 用戶輸入

學生1馬克

41.0

52.0

學生2馬克

74.0

85.0

但是在學生1分的部分,我希望它顯示41.0和74.0。對於學生2分,我想顯示52.0和85.0。我將如何做到這一點?這是一節收集並顯示標記:

double[][] mark = new double[assignmentLimit][studentLimit]; 
    for (index = 0; index < assignmentLimit; index++) 
    { 
     System.out.println("\nAssigment " + (index + 1) + " marks:"); 
     for (int studentMark = 0; studentMark < studentLimit; studentMark++) 
     { 
      System.out.print("\nStudent " + (studentMark + 1) + ": "); 
      mark[index][studentMark] = Integer.parseInt(console.readLine()); 
     } // end of for(int index = 0; index < ARRAY_LIMIT; index++) 
    } 

    for (index = 0; index < studentLimit; index++) 
    { 
     System.out.println("\nStudent " + (index + 1) + " marks"); 
     for (int studentMark = 0; studentMark < assignmentLimit; studentMark++) 
     { 
      System.out.println("\t" + mark[index][studentMark]); 
     } 
    } 
+0

閱讀有關_format specifiers_的說明書中無。 – devnull

回答

1

試試這個:

double[][] mark = new double[assignmentLimit][studentLimit]; 
    for (index = 0; index < assignmentLimit; index++) 
    { 
     System.out.println("\nAssigment " + (index + 1) + " marks:"); 
     for (int studentMark = 0; studentMark < studentLimit; studentMark++) 
     { 
      System.out.print("\nStudent " + (studentMark + 1) + ": "); 
      mark[index][studentMark] = Integer.parseInt(console.readLine()); 
     } // end of for(int index = 0; index < ARRAY_LIMIT; index++) 
    } 

    for (index = 0; index < studentLimit; index++) 
    { 
     System.out.println("\nStudent " + (index + 1) + " marks"); 
     for (int studentMark = 0; studentMark < assignmentLimit; studentMark++) 
     { 
      System.out.println("\t" + mark[studentMark][index]); // mark[studentMark][index] but not mark[index][studentMark] 
     } 
    } 
+0

它的工作原理!你能告訴我爲什麼學生馬克和索引必須顛倒嗎?謝謝! – user3479783

+1

在您的第一個嵌套for循環中,您將Assigment 1和Assigment 2的標記設置爲標記數組,它表示mark數組的第一個索引(標記[第一個索引] [第二個索引])是賦值索引,第二個索引學生指數;而在你的第二個嵌套for循環中,for循環中的第一個索引是學生的索引,第二個是賦值索引,因此索引必須顛倒......我希望你能理解我的意思。 –