2014-04-10 117 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循环中的第一个索引是学生的索引,第二个是赋值索引,因此索引必须颠倒......我希望你能理解我的意思。 –