2017-04-06 62 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

相關問題