Java 如何正确显示数组的内容

Java 如何正确显示数组的内容,java,arrays,Java,Arrays,我正在尝试制作一个测试修正模拟器,用户首先输入测试反馈,然后输入课堂上的学生人数、姓名,最后是答案。但问题是:当我试图显示学生姓名和答案时……它们在另一个下方。那么我如何解决这个问题呢 这个问题是因为我为学生的制作了两个而不是一个?所以我不能正确显示学生姓名和答案 我的另一个问题是学生的分数。我如何为每个学生打分并在旁边展示 查看下面的“我的堆栈跟踪”以更好地了解: import java.util.Scanner; 公共类测试阵列{ 公共静态void main(字符串[]args){ 积分=

我正在尝试制作一个测试修正模拟器,用户首先输入测试反馈,然后输入课堂上的学生人数、姓名,最后是答案。但问题是:当我试图显示学生姓名和答案时……它们在另一个下方。那么我如何解决这个问题呢

这个问题是因为我为学生的制作了两个而不是一个?所以我不能正确显示学生姓名和答案

我的另一个问题是学生的分数。我如何为每个学生打分并在旁边展示

查看下面的“我的堆栈跟踪”以更好地了解:

import java.util.Scanner;
公共类测试阵列{
公共静态void main(字符串[]args){
积分=0,n,i,j=0;
Scanner sc=新的扫描仪(System.in).useDelimiter(“\r\n”);
System.out.print(“班上有多少学生?:”);
n=sc.nextInt();
字符串名称[]=新字符串[n];
字符应答[][]=新字符[n][5];
浮动介质[]=新浮动[n];
char testFeedback[]=新字符[5];
int socreArray[]=新int[n];
System.out.println(“--类型(a、b、c、d或e)”;
for(int g=0;g3){
System.out.println(“恭喜你,一切顺利!”);
}否则{
System.out.println(“太糟糕了,你需要学习更多。”);
}
}
}

在System.out.println(“常规报告”)上方的for循环中需要一个字符串生成器; 你不需要下两个for循环。移动

System.out.println( "General Report" );
System.out.println( "Student - answer - score " );
在这个循环上面。 并在循环内移动
if(分数>3)else
,如下代码所示。在此循环之后,您可以删除所有内容

     System.out.println("\nGeneral report: ");
     System.out.println("Student - answer - score");

for (i = 0; i < n; i++) {
            StringBuilder sb = new StringBuilder();
            System.out.print("Student name: ");
            name[i] = sc.next();

            for (j = 0; j < 5; j++) {
                System.out.println("answer nº" + (j + 1) + ": ");
                answer[i][j] = sc.next().charAt(0);
                sb.append( String.valueOf(answer[i][j]) );
                if (answer[i][j] == testFeedback[j]) {

                    score++;
                }

            }
            System.out.println( name[i] + " - " + sb.toString() + " - " + score );
            if (score > 3) {
               System.out.println("Congratulations, you went well!");

            } else {
               System.out.println("Too bad, you need to study more.");
            }


        }
System.out.println(“\n一般报告:”);
System.out.println(“学生-答案-分数”);
对于(i=0;i3){
System.out.println(“恭喜你,一切顺利!”);
}否则{
System.out.println(“太糟糕了,你需要学习更多。”);
}
}

在System.out.println(“常规报告”)上方的for循环中需要一个字符串生成器; 你不需要下两个for循环。移动

System.out.println( "General Report" );
System.out.println( "Student - answer - score " );
在这个循环上面。 并在循环内移动
if(分数>3)else
,如下代码所示。在此循环之后,您可以删除所有内容

     System.out.println("\nGeneral report: ");
     System.out.println("Student - answer - score");

for (i = 0; i < n; i++) {
            StringBuilder sb = new StringBuilder();
            System.out.print("Student name: ");
            name[i] = sc.next();

            for (j = 0; j < 5; j++) {
                System.out.println("answer nº" + (j + 1) + ": ");
                answer[i][j] = sc.next().charAt(0);
                sb.append( String.valueOf(answer[i][j]) );
                if (answer[i][j] == testFeedback[j]) {

                    score++;
                }

            }
            System.out.println( name[i] + " - " + sb.toString() + " - " + score );
            if (score > 3) {
               System.out.println("Congratulations, you went well!");

            } else {
               System.out.println("Too bad, you need to study more.");
            }


        }
System.out.println(“\n一般报告:”);
System.out.println(“学生-答案-分数”);
对于(i=0;i3){
System.out.println(“恭喜你,一切顺利!”);
}否则{
System.out.println(“太糟糕了,你需要学习更多。”);
}
}

如果我正确理解您的问题,要显示姓名和答案,您可以使用1:

for (i = 0; i < n; i++) {
     System.out.print(name[i] + ": ");
     for(int j = 0; j < answer[i].length; j++) {
         System.out.print(answer[i][j] + " ");
     }
     System.out.println();

}
(i=0;i{ 系统输出打印(名称[i]+“:”); 对于(int j=0;j<答案[i]。长度;j++){ 系统输出打印(回答[i][j]+“”); } System.out.println(); }
要显示分数,您必须将其存储在某个位置,例如在另一个数组或列表中。

如果我正确理解您的问题,要显示姓名和答案,您可以使用1来表示:

for (i = 0; i < n; i++) {
     System.out.print(name[i] + ": ");
     for(int j = 0; j < answer[i].length; j++) {
         System.out.print(answer[i][j] + " ");
     }
     System.out.println();

}
(i=0;i{ 系统输出打印(名称[i]+“:”); 对于(int j=0;j<答案[i]。长度;j++){ 系统输出打印(回答[i][j]+“”); } System.out.println(); }
要显示分数,您必须将其存储在某个位置,例如在另一个数组或列表中。

是的,问题是您在循环中输出学生,然后在另一个循环中输出答案。这应该发生在同一个循环中,以便您在同一个循环周期中输出学生及其答案

假设您的学生数组和答案数组大小相同(每个学生在同一索引中都有相应的答案),您可以执行以下操作:

for(int i = 0; i < n; i++) {
    System.out.println(student[i]);
    System.out.println(answer[i]);
}
for(int i=0;i