java错误中的二维数组(打印为空)
它以空值打印。。。我怎样才能摆脱它?它给了我一个例子: 出席: 利奥空 如果达不到4,我希望它只打印Leo 这是我目前的代码:java错误中的二维数组(打印为空),java,arrays,loops,oop,dynamic-arrays,Java,Arrays,Loops,Oop,Dynamic Arrays,它以空值打印。。。我怎样才能摆脱它?它给了我一个例子: 出席: 利奥空 如果达不到4,我希望它只打印Leo 这是我目前的代码: import java.util.*; import java.io.*; public class Trial { public static void main(String[] args) { String [] Student ={"Tom", "Jack", "Gio", "Leo"}; String[][] At
import java.util.*;
import java.io.*;
public class Trial {
public static void main(String[] args) {
String [] Student ={"Tom", "Jack", "Gio", "Leo"};
String[][] Attendance = new String[4][4];
System.out.println("STUDENT LIST-TAKE ATTENDANCE");
for(int i = 0; i<4; i++){
System.out.println("Type 1 for Present, 2 for Absent, 3 for Fieldtrip, or 4 for Late " + "for " + Student[i]);
Scanner scan1 = new Scanner(System.in);
double Att = scan1.nextDouble();
int j = 0;
if (Att == 1){
Attendance[0][j] = Student[i];
j++;
}
else if(Att == 2){
Attendance[1][j] = Student[i];
j++;
}
else if(Att == 3){
Attendance[2][j] = Student[i];
j++;
}
else if(Att == 4){
Attendance[3][j] = Student[i];
j++;
}
else
System.out.println("Retry");
}
System.out.println("Present: ");
for (int k = 0; k<=3; k++)
System.out.print(Attendance[0][k] + " ");
System.out.println();
System.out.println("Absent: ");
for (int k = 0; k<=3; k++)
System.out.print(Attendance[1][k] + " ");
System.out.println();
System.out.println("Fieldtrip: ");
for (int k = 0; k<=3; k++)
System.out.print(Attendance[2][k] + " ");
System.out.println();
System.out.println("Late: ");
for (int k = 0; k<=3; k++)
System.out.print(Attendance[3][k] + " ");
System.out.println();
/*
String[][] Attendance = {
{ "Present", },
{ "Absent", },
{ "Fieldtrip", },
{ "Late", }
};
System.out.println();
for (int i = 0; i < Attendance; i++) {
System.out.print(Attendance[i][0] + ": ");
for (int j = 1; j < Attendance[i].length; j++) {
System.out.print(Attendance[i][j] + " ");
}
*/
}
}
import java.util.*;
导入java.io.*;
公开庭审{
公共静态void main(字符串[]args){
字符串[]学生={“汤姆”、“杰克”、“吉奥”、“利奥”};
字符串[][]考勤=新字符串[4][4];
System.out.println(“学生名单-出勤”);
对于(int i=0;i我将以此为例,您应该能够计算出其余的:
System.out.println("Present: ");
for (int k = 0; k<=3; k++)
System.out.print(Attendance[0][k] + " ");
System.out.println();
System.out.println(“当前:”);
对于(int k=0;kWell,您可以在打印之前检查它是否为null。A)阅读java命名约定-变量名大小写-始终B)阅读有关使用浮点数的内容。你基本上从未使用==直接比较过它们。太好了!谢谢。但是,我有另一个问题。如果我的所有学生都在场。我会这样做:Tom-1,Jack,-1…依此类推,当它们重叠时,我得到的只是最后一个。它打印:现在:Leo,缺席,迟到和实地考察:null@ronix_247_DOIT做对其他代码块也进行了相同的更改。只有当每列有一个名称时,才能去掉空值
System.out.println("Present: ");
for (int k = 0; k<=3; k++) {
if (Attendance[0][k] != null) {
System.out.print(Attendance[0][k] + " ");
}
}
System.out.println();
System.out.println("Present: ");
for (int k = 0; k<=3; k++) {
if (Attendance[0][k] != null) {
System.out.print(Attendance[0][k] + " ");
} else {
break;
}
}
System.out.println();