如果字符串的第一个字母在另一个字符串的第一个字母前面,我想返回true。因此,如果s1 = "Adam"
和s2 = "Bob"
,那么s1.someMethod(s2)
应该返回true,因为A在B之前出现在字母表中。我只需要几行就可以做到这一点,所以可能会首先使用charAt(0)
。如何比较两个字符串的第一个字母按字母顺序排列[Java]
干杯。
如果字符串的第一个字母在另一个字符串的第一个字母前面,我想返回true。因此,如果s1 = "Adam"
和s2 = "Bob"
,那么s1.someMethod(s2)
应该返回true,因为A在B之前出现在字母表中。我只需要几行就可以做到这一点,所以可能会首先使用charAt(0)
。如何比较两个字符串的第一个字母按字母顺序排列[Java]
干杯。
你可以做到以下几点:
1. Convert the strings to lowercase
2. Compare their ASCII values of the first characters
int diff=s1.charAt(0)-s2.charAt(0);
3. Print the result
if(diff>0)
return true;
else
return false;
可以做得更容易。它只是1,如果你需要...'s1.toUpperCase()。charAt(0)
嘿..感谢您的评论。我同意 –
这是一个反向代码高尔夫球吗? – shmosel
s1.someMethod(S2)应该如果你已经在寻找一个简单的方法返回true
,然后String
已经implements
Comparable
接口,所以你可以简单地使用使用compareTo
如下图所示:
s1.compareTo(s2)<0
这将return
true
如果s1
到来之前s2
即在按字母顺序排列。 另外,如果两个字符串相同,只需添加s1.compareTo(s2)
即可返回0
。
到目前为止您尝试过什么? –
首先让它们都是大写或小写来比较它们更容易。那么你把两个字符,并检查哪一个更大 – XtremeBaumer
*可能使用charAt(0)首先可能会涉及*这和'''运算符是你所需要的。你有没有试图自己解决这个问题? – shmosel