【问题标题】:Compare Two Strings with Greater than or Lower than Android Studio比较两个大于或小于 Android Studio 的字符串
【发布时间】:2022-01-28 17:52:29
【问题描述】:

我想比较两个字符串

X = 用户输入

Y = 系统输入

如果 X 大于 Y

比显示大于

如果 X 小于 Y

显示低于 这是我的代码,但它不起作用

    if (X.compareTo(Y)>-1)  
    {
       Toast.makeText(Activity2.this, "Greater Than", Toast.LENGTH_SHORT).show();
    }
   else {
      Toast.makeText(Activity2.this, "Lower Than", Toast.LENGTH_SHORT).show();
      }

【问题讨论】:

  • 定义“不工作”。

标签: java string android-studio


【解决方案1】:

我想您的> -1 是一种测试“等于或大于”的聪明方法。我建议避免使用这种聪明的代码。编写愚蠢的简单代码 (KISS) 使阅读变得更容易,更重要的是,调试变得更加容易。

Comparable 接口的compareTo 方法在相等时返回完全为零。如果不相等,则该方法返回一些大于零的数字,或一些小于零的数字。

引用 Javadoc:

返回负整数、零或正整数,因为此对象小于、等于或大于指定对象。

因此,更改您的测试以检查每一种可能性,看看 String#compareTo 实现的行为如何与您的期望不符。进行四次检查,是否等于零、大于零、小于零,如果前三个输入错误,则进行检查。

顺便说一下,根据 Java 命名约定,变量名应该以小写字母开头。所以x,而不是X

int comparison = x.compareTo( y ) ;
if ( comparison == 0 )  {
    …
} if ( comparison > 0 )  {
    …
} if ( comparison < 0 )  {
    …
} else { 
    … Oops, the “if” tests must be flawed. We should never reach this point. 
}

【讨论】:

    猜你喜欢
    • 2012-10-14
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    相关资源
    最近更新 更多