如何比较java中文本的第二部分?

问题描述

有必要对比下后半部分的文字,看看他们是不是兄弟

我试图找到解决这个问题的方法

这是问题链接

https://codeforces.com/group/MWSDmqGsZm/contest/219158/problem/L

public static void main(String[] args) {
    Scanner in = new Scanner(system.in);
    String s1 = in.next();
    String s2 = in.next();
    String s3 = in.next();
    String s4 = in.next();

    if (s3.length() == s4.length()) {
        System.out.println("ARE brothers");
    } else {
        System.out.println("NOT");
    }
}

}

解决方法

它在页面上说它每行提供两个字符串作为{“名字”+“姓氏”}。您将 s1、s2 读为名字 + 姓氏,然后尝试比较 s3 和 s4,后者是第二人称的名字和姓氏。

之后,您需要更改检查他们是否是兄弟的方式。检查字符串的长度将不起作用,如果我有一个叫 Rex Davis 的人和一个叫 Michael Smith 的人,你的代码会说他们是兄弟,即使他们不是。

,

获取输入,用空格分割并获取结果数组中的第二项以获取姓氏。然后使用三元运算符比较两者。

Scanner s = new Scanner(System.in);
String firstLastName = s.nextLine().split(" ")[1];
String secondLastName = s.nextLine().split(" ")[1];
String result = firstLastName.equals(secondLastName) ? "ARE Brothers" : "NOT";
System.out.println(result);
,

也许这会是另一种变体?

  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String s1 = in.nextLine();
    String s2 = in.nextLine();

    String [] nameArr1 = s1.split(" ");
    String [] nameArr2 = s2.split(" ");

    String surname1 = nameArr1[1];
    String surname2 = nameArr2[1];

    if (surname1.equals(surname2)) {
        System.out.println("ARE Brothers");
    } else {
        System.out.println("NOT");
    }
}