如果我对 menuInput 使用 0 或 9,则以下代码可以正常工作,循环再次迭代。如果我使用 10,则循环条件满足并退出。我想当compareTo
我以这种方式使用它时,它似乎只是第一个值?当我制作 menuInput 99 时,循环再次迭代。我是初学者,不知道用什么代替compareTo
。泰!
do...
code
while (menuInput.compareTo("8") > 0 || menuInput.compareTo("1")<0);
String 中的 compareTo 是按字典顺序排列的 - 它按字母顺序按第一个字符排序,然后是下一个字符,因此 "1" < "2" 但 "11" < "2" 也是。如果要进行数字比较,请使用Integer.parseInt
.
您正在比较字符串。如果要比较数值,则需要将它们转换为整数。