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