我在写程序的时候需要最后一行输出结果但是不输出,我认为是程序上的问题,但我不知道怎么改进。
这是我的程序输出的结果
我想要让最后一行的Alex输出Alex: None,但是它没有输出结果
这是我的程序主函数部分
前面的部分
import java.util.*;
public class ClassStudent {
private String name;
private String sex;
private String birthday;
private String phonenumber;
public ClassStudent(String n, String s, String b, String p) {
this.name = n;
this.sex = s;
this.birthday = b;
this.phonenumber = p;
}
public String getname(String a) {// 获取学生的名字
String[] x0 = a.split(", ");
for (int i = 0; i < x0.length; i++) {
name = x0[0];
}
return name;
}
public String getsex(String a) {// 获取学生的性别
String[] x0 = a.split(", ");
for (int i = 0; i < x0.length; i++) {
sex = x0[1];
}
return sex;
}
public String getbirthday(String a) {// 获取学生的生日年份
String[] x0 = a.split(", ");
for (int i = 0; i < x0.length; i++) {
birthday = x0[2];
}
return birthday;
}
public String getphonenumber(String a) {// 获取电话号码
String[] x0 = a.split(", ");
for (int i = 0; i < x0.length; i++) {
phonenumber = x0[3];
}
return phonenumber;
}
public static void main(String[] args) {// 获取全部的信息,比对输出
Scanner input = new Scanner(System.in);
String s1 = input.nextLine();
int m1 = Integer.parseInt(s1);
//System.out.println(m1);
// input.nextLine();
String[] b1 = new String[m1];
for (int j = 0; j < m1; j++) {
b1[j] = input.nextLine();
}
String s2 = input.nextLine();
int m2 = Integer.parseInt(s2);
//System.out.println(m2);
// input.nextLine();
String[] c = new String[m2];
for (int l = 0; l < m2; l++) {
c[l] = input.nextLine();
for(int k = 0; k <m1;k++){
String[] b3 = b1[k].split(", ");
ClassStudent b2 = new ClassStudent(b3[0], b3[1], b3[2], b3[3]);
String thename = b2.getname(b1[k]);
int trial = 0;
if (c[l].equals(thename)) {
System.out.println(thename + ": " + b2.getsex(b1[k]) + ", " + b2.getbirthday(b1[k]) + ", " + b2.getphonenumber(b1[k]));
} else {
trial =trial + 1;
}
if(trial == m1) {
System.out.println(c[l] + ": " + "None");
}
}}input.close();
}
}