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