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