JAVA写一个方法,接受两个字符串,字符串只包含英文字母,将他们按照字母顺序比较 5
写一个方法,接受两个字符串,字符串只包含英文字母,将他们按照字母顺序比较,输出较大的那一个。所谓字母顺序,按照英文字母表,a最大,z最小,不区分大小写。由第一位开始比,如...
写一个方法,接受两个字符串,字符串只包含英文字母,将他们按照字母顺序比较,输出较大的那一个。所谓字母顺序,按照英文字母表,a最大,z最小,不区分大小写。
由第一位开始比,如果相同比较第二位,以此类推,直到比出大小为止。如果所有位置都相同,则较长的字符串比较大。
如:”azz” > “bzz”
“abz” > “acz”
“azz” > “baa”
“abcd” > “abc” 展开
由第一位开始比,如果相同比较第二位,以此类推,直到比出大小为止。如果所有位置都相同,则较长的字符串比较大。
如:”azz” > “bzz”
“abz” > “acz”
“azz” > “baa”
“abcd” > “abc” 展开
1个回答
展开全部
使用 String.compareTo 方法:
compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询