如果找不到我输入的数据,我想处理它。但是,当找不到数据时,程序将重复打印消息。我应该在哪里正确地使用else语句?
public void Data(String x){
for (int i = 1; i < 6; i++) {
if (x.equalsIgnoreCase(table1[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table1[i][j]);
}
}
else if (x.equalsIgnoreCase(table2[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table2[i][j]);
}
}
else if (x.equalsIgnoreCase(table3[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table3[i][j]);
}
}
else if (x.equalsIgnoreCase(table4[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table4[i][j]);
}
}
else if (x.equalsIgnoreCase(table5[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table5[i][j]);
}
}
else if (x.equalsIgnoreCase(table6[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table6[i][j]);
}
}
else if (x.equalsIgnoreCase(table7[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table7[i][j]);
}
}
else System.out.println("Data not found!");
}
}
答案 0 :(得分:1)
试试这个:
public void Data(String x){
boolean b = false;
for (int i = 1; i < 6; i++) {
if (x.equalsIgnoreCase(table1[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table1[i][j]);
}
}
else if (x.equalsIgnoreCase(table2[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table2[i][j]);
}
}
else if (x.equalsIgnoreCase(table3[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table3[i][j]);
}
}
else if (x.equalsIgnoreCase(table4[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table4[i][j]);
}
}
else if (x.equalsIgnoreCase(table5[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table5[i][j]);
}
}
else if (x.equalsIgnoreCase(table6[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table6[i][j]);
}
}
else if (x.equalsIgnoreCase(table7[i][1])){
for (int j = 0; j < 4; j++) {
System.out.printf("|%-40s", table7[i][j]);
}
}
else b = true;
}
if (b) System.out.println("Data not found!");
}
答案 1 :(得分:1)
如果您想在找不到数据后立即终止,可以将您的else语句更改为:
else {
System.out.println("Data not found!");
return;
}