java compareTo不使用双位数字

时间:2013-06-06 22:20:54

标签: java string compare compareto

如果我对menuInput使用0或9,则以下代码可以正常工作,循环再次迭代。如果我使用10,则满足循环条件并退出。我猜compareTo似乎只是我用这种方式时的第一个值?当我创建menuInput 99时,循环再次迭代。我是初学者,我不确定用compareTo代替什么。 TY!

do...

code

while (menuInput.compareTo("8") > 0 || menuInput.compareTo("1")<0);

2 个答案:

答案 0 :(得分:11)

String中的compareTo是lexicographical - 它按字母顺序排列第一个字符,然后是下一个字母顺序“1”&lt; “2”但“11”&lt; “2”也。如果要进行数值比较,请使用Integer.parseInt转换为整数。

答案 1 :(得分:0)

您正在比较字符串。如果要比较数值,则需要将它们转换为整数。