有人可能会添加一些评论来解释它的过程。我很困惑(a.compareTo(b)<=0)
如何运作。
public class step31 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Number
String a = "AB";
String b = "AC";
String c = "AD";
String d = "";
if(a.compareTo(b)<=0) // using compareTo to compare between two strings, it return a number, if the number <=0 then a less than b
{
if(c.compareTo(a)<=0)
{
d = "'c'<='a'<='b'";
}
else if(b.compareTo(c)<=0)
{
d = "'a'<='b'<='c'";
}
else
{
d = "'a'<='c'<='b'";
}
}
// a>b
else
{
if(a.compareTo(c)<=0)
{
d = "'b'<='a'<='c'";
}
else if(c.compareTo(b)<=0)
{
d = "'c'<='b'<='a'";
}
else
{
d = "'b'<='c'<='a'";
}
}
System.out.println(d);
}
}
一些意见将不胜感激。
答案 0 :(得分:0)
查看与compareTo
相关的javadoc答案 1 :(得分:0)
按字典顺序比较两个字符串。比较是基于 字符串中每个字符的Unicode值。字符序列 由此String对象表示,按字典顺序进行比较 由参数字符串表示的字符序列。结果是 如果此String对象按字典顺序排在前面,则为负整数 参数字符串。如果是这个String,结果是一个正整数 对象按字典顺序跟随参数字符串。结果是 如果字符串相等则为零; compareTo正好返回0 equals(Object)方法将返回true。这是定义 词典排序。如果两个字符串不同,那么它们 在某个索引处有不同的字符,这两个索引都是两者的有效索引 字符串,或它们的长度不同,或两者兼而有之。如果他们有 在一个或多个索引位置的不同字符,让k为 最小的指数;然后是位置k处的字符所具有的字符串 较小的值,通过使用&lt;运营商, 按字典顺序排列在另一个字符串之前。在这种情况下,compareTo 返回位置k in的两个字符值的差值 两个字符串 - 即值:
this.charAt(k)-anotherString.charAt(k)如果没有索引 它们不同的位置,然后是较短的弦 按字典顺序排列在较长的字符串之前。在这种情况下,compareTo 返回字符串长度的差异 - 即 value:this.length() - anotherString.length()
如果参数字符串等于此字符串,则值为0;一个值 如果此字符串按字典顺序小于字符串,则小于0 参数;如果此字符串为,则值大于0 按字典顺序大于字符串参数。
来自java doc
答案 2 :(得分:0)
a.compareTo(b) <= 0
表示a <= b
,即如果a
与b
相同或更早,则按字母顺序排序时为true。 (使用<=
之类的比较符对于除Java中的数字之外的任何内容都是非法的,这就是需要compareTo
方法的原因。)
同样,a.compareTo(b) > 0
将被解释为a > b
。
答案 3 :(得分:0)
我建议您使用IDE,例如Eclipse,它允许您进入代码。例如,在Eclipse中,您可以选择方法,然后单击“f3”,您将跳转到您想知道的方法。
答案 4 :(得分:0)
http://www.tutorialspoint.com/java/java_string_compareto.htm - 关于与方法比较的优秀教程
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#compareTo(java.lang.String) - javadocs java 7 String类检查比较方法
从方法返回
The value 0 if the argument is a string lexicographically equal to this string; a value less than 0 if the argument is a string lexicographically greater than this string; and a value greater than 0 if the argument is a string lexicographically less than this string.
希望这能给你一些指示