我是Java学习者并且正在测试Java代码,目前在Java方面没有太多的把握。
目前我想要实现的是我有两个1D数组的String和一个2D数组的整数。我希望结果以表格形式显示,但我无法这样做。我的代码如下。
import java.util.*;
public class StudentResults {
static String studentName;
static String courseName;
static int courseMarks;
static String[] student = { "Jack Smith", "Jim Lucas", "Beck Barber",
"Ann Walker", "Lucy Boxer" };
static String[] course = { "Maths", "Business", "Java", "Design", "Project" };
public static void studentMarks() {
int[][] marks = { { 89, 70, 56, 87, 65 }, { 70, 65, 70, 83, 78 },
{ 60, 90, 63, 56, 79 }, { 74, 78, 45, 73, 85 },
{ 80, 90, 60, 70, 80 } };
for (int i = 0; i < student.length; i++) {
studentName = student[i];
System.out.printf("\t\t" + studentName + "\t");
}
System.out.println("");
for (int j = 0; j < course.length; j++) {
courseName = course[j];
System.out.println(courseName + "\t");
}
for (int m = 0; m < marks.length; m++) {
for (int n = 0; n < marks.length; n++) {
courseMarks = marks[m][n];
System.out.print("\t\t" + courseMarks + "\t\t");
}
System.out.println("");
}
}
public static void main(String args[]) {
studentMarks();
}
}
我得到的标记输出在表格中,但不与课程名称一致。只是想知道我是否有办法以我工作的方式实现这一目标。
干杯,
答案 0 :(得分:0)
我认为这是某种家庭作业(或自学),所以我会给出一个提示,而不是完整的解决方案:
您要打印每个主题,然后打印该特定主题的每个标记。 目前,您正在打印所有主题的列表,然后您将为每个主题打印标记。
所以这部分代码:
for (int j = 0; j < course.length; j++) {
courseName = course[j];
System.out.println(courseName + "\t");
}
for (int m = 0; m < marks.length; m++) {
for (int n = 0; n < marks.length; n++) {
courseMarks = marks[m][n];
System.out.print("\t\t" + courseMarks + "\t\t");
}
System.out.println("");
}
应该是嵌套循环而不是两个单独的循环。也就是说,第二个循环应该在第一个循环内。
所以你打印一个主题,然后是该主题的所有标记,然后是下一个主题,然后是第二个主题的所有标记,依此类推
在你得到你想要的确切布局之前还有一些摆弄。但请记住System.out.println()
将打印参数后跟一个新行。
答案 1 :(得分:0)
删除第二个for循环以打印课程,并在第三个循环中添加逻辑以打印课程。
代码应如下所示。
import java.util.*;
public class StudentResults {
static String studentName;
static String courseName;
static int courseMarks;
static String[] student = { "Jack Smith", "Jim Lucas", "Beck Barber",
"Ann Walker", "Lucy Boxer" };
static String[] course = { "Maths", "Business", "Java", "Design", "Project" };
public static void studentMarks() {
int[][] marks = { { 89, 70, 56, 87, 65 }, { 70, 65, 70, 83, 78 },
{ 60, 90, 63, 56, 79 }, { 74, 78, 45, 73, 85 },
{ 80, 90, 60, 70, 80 } };
for (int i = 0; i < student.length; i++) {
studentName = student[i];
System.out.printf("\t\t" + studentName + "\t");
}
System.out.println("");
/*for (int j = 0; j < course.length; j++) {
courseName = course[j];
System.out.println(courseName + "\t");
}*/
for (int m = 0; m < marks.length; m++) {
courseName = course[m];
System.out.print(courseName + "\t\t");
for (int n = 0; n < marks.length; n++) {
courseMarks = marks[m][n];
System.out.print("\t\t" + courseMarks + "\t\t");
}
System.out.println("");
}
}
public static void main(String args[]) {
studentMarks();
}
}