【问题标题】:java compareTo not working with double digit numbersjava compareTo 不能使用两位数
【发布时间】:2013-06-06 22:20:53
【问题描述】:

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

do...

code

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

【问题讨论】:

  • 尝试比较整数而不是字符串。

标签: java string compare compareto


【解决方案1】:

string 中的compareTo 是lexicographical - 它按字母顺序按第一个字符排序,然后是下一个字符,因此“1”Integer.parseInt 转换为整数。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      相关资源
      最近更新 更多