1

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

do...

code

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

2 回答 2

11

String 中的 compareTo 是按字典顺序排列的 - 它按字母顺序按第一个字符排序,然后是下一个字符,因此 "1" < "2" 但 "11" < "2" 也是。如果要进行数字比较,请使用Integer.parseInt.

于 2013-06-06T22:23:29.450 回答
0

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

于 2013-06-06T22:24:13.663 回答