分析:
Java代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str1 = scanner.next();
String str2 = scanner.next();
if (str1.length() != str2.length()) { //1:两个字符串长度不等。
System.out.println(1);
} else {
if (str1.equals(str2)) { //2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写)
System.out.println(2);
}else if (str1.equalsIgnoreCase(str2)) { //3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致
System.out.println(3);
}else { //4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。
System.out.println(4);
}
}
}
}
顺便总结学习一下String类的几个方法:
- public boolean equals(Object anObject)
将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
所以情况2可以直接调用这个方法进行比较。 - public boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。
所以情况3可以直接调用这个方法进行比较。
当然,情况3还有一种写法,将两个字符串都全部转换为大写(Character.toUpperCase(char))或者小写(Character.toLowerCase(char))之后进行比较:
if(str1.toUpperCase().equals(str2.toUpperCase())) { //全部转换大写
System.out.println(3);
}