如果字符串的第一個字母在另一個字符串的第一個字母前面,我想返回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