2017-04-06 61 views
-4

如果字符串的第一个字母在另一个字符串的第一个字母前面,我想返回true。因此,如果s1 = "Adam"s2 = "Bob",那么s1.someMethod(s2)应该返回true,因为AB之前出现在字母表中。我只需要几行就可以做到这一点,所以可能会首先使用charAt(0)如何比较两个字符串的第一个字母按字母顺序排列[Java]

干杯。

+2

到目前为止您尝试过什么? –

+0

首先让它们都是大写或小写来比较它们更容易。那么你把两个字符,并检查哪一个更大 – XtremeBaumer

+0

*可能使用charAt(0)首先可能会涉及*这和'''运算符是你所需要的。你有没有试图自己解决这个问题? – shmosel

回答

2

你可以做到以下几点:

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; 
+0

可以做得更容易。它只是1,如果你需要...'s1.toUpperCase()。charAt(0) XtremeBaumer

+0

嘿..感谢您的评论。我同意 –

+1

这是一个反向代码高尔夫球吗? – shmosel

1

s1.someMethod(S2)应该如果你已经在寻找一个简单的方法返回true

,然后String已经implementsComparable接口,所以你可以简单地使用使用compareTo如下图所示:

s1.compareTo(s2)<0 

这将returntrue如果s1到来之前s2即在按字母顺序排列。 另外,如果两个字符串相同,只需添加s1.compareTo(s2)即可返回0

相关问题