比较两个大于或小于Android Studio的字符串

hgqdbh6s  于 2022-12-23  发布在  Android
关注(0)|答案(1)|浏览(309)

我要比较两个字符串
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();
      }
az31mfrm

az31mfrm1#

我想你的> -1是测试“等于或大于”的一个聪明的方法。我建议避免这样聪明的代码。编写愚蠢简单的代码KISS)使阅读和调试(更重要的是)更容易。
如果相等,则Comparable接口的compareTo方法返回零。如果不相等,则该方法返回某个大于零的数字或某个小于零的数字。
引用Javadoc:
当此对象小于、等于或大于指定对象时,返回负整数、零或正整数。
因此,更改测试,检查每一种可能性,看看String#compareTo实现的行为如何与您的预期不符,进行四次检查,等于零、大于零、小于零,如果前三次键入错误,则进行一次失败检查。
顺便说一下,根据Java命名约定,变量名应该以小写字母开头,所以是x,而不是X

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

相关问题