大学(字符串)的Java练习有问题

时间:2014-04-07 05:34:39

标签: java string compare

给定两个字符串,如果其中一个字符串出现在另一个字符串的最末端,则打印为true,忽略大小写差异(换句话说,计算不应该是“区分大小写”)。

好的,所以我已经确定我需要允许输入2个字符串。然后我假设我需要一个if / else语句,其中if检查两个字符串以查看另一个字符串的字符是否出现在使用IgnoreCase的字符串末尾。如果任一字符串在末尾具有另一个字符串的字符,则打印true

然后打印错误。

我知道如何输入两个字符串,并实现一个if else语句,我的问题是,如何扫描字符串以查看它是否包含另一个字符串的内容?以及如何指定必须在字符串的末尾找到它。 IE浏览器。

"Hiabc", "abc" -> true                                                  
"AbC", "HiaBc" -> true                                                  
"abc", "abXabc" -> true                                                 
"abc", "abXaXc" -> false 

我已经检查了许多在线教程,试图找到这样做的语法,但我似乎找不到任何语法。

2 个答案:

答案 0 :(得分:0)

不确定您是否允许使用这些内置方法,但最简单的方法是调用String.endsWith(String)。不幸的是,它们不具有不区分大小写的变体,因此只需将两个字符串转换为小写(或大写,相同)。 E.g:

String str1Lower = str1.toLowerCase(); 
String str2Lower = str2.toLowerCase();
if (str1Lower.endsWith(str2Lower) || str2Lower.endsWith(str2Lower) {
    System.out.println ("One of the strings is the end of the other");
} else {
    System.out.println ("bummer.");
}

答案 1 :(得分:0)

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String s1="abc";
    String s2="zzzABC";

    s1 = s1.toUpperCase(); //remember string immutable so have to assign once again
    s2 = s2.toUpperCase();

    if(s1.endsWith(s2) || s2.endsWith(s1))
        System.out.println("one of the string appears at the very end of others");

}