每天都在头秃 2022-12-05 23:46 采纳率: 96.7%
浏览 49
已结题

输入的最后一行不输出结果

我在写程序的时候需要最后一行输出结果但是不输出,我认为是程序上的问题,但我不知道怎么改进。
这是我的程序输出的结果

img


我想要让最后一行的Alex输出Alex: None,但是它没有输出结果
这是我的程序主函数部分

img

img


前面的部分

img


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();
    }    

  }

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-12-05 23:55
    关注

    截图没办法帮你调试,复制代码发一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月6日
  • 修改了问题 12月6日
  • 修改了问题 12月6日
  • 展开全部

悬赏问题

  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题
  • ¥20 基于matlab的航迹融合 航迹关联 航迹插补
  • ¥15 用Matlab实现图中的光线追迹
  • ¥15 联想笔记本开机出现系统更新界面