![](/img/trans.png)
[英]Sorting characters in a string into alphabetical order without arrays or maps (Java)
[英]Sort a string in alphabetical order without arrays in java
我需要做的是取一個包含隨機字母的字符串,然后按字母順序排列字母。 例如,lidfj將是; dfijl。
我要弄清楚的是如何啟動代碼。 我知道我可能需要使用compare to,因為不允許使用數組,但是我不確定這是否是最好的方法。 我也不知道該如何開始。
提前致謝。
編輯:我想我已經晚上住完了,因為我似乎再也沒有想到其他任何事情了。
public class PP426 {
public static String alphabetize (String input) {
String sorted = ";
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if () {
sorted += character;
}
}
return sorted;
}
public static void main(String[] args) {
System.out.println(alphabetize("iunaselfksdf"));
}
}
從您的問題和評論看來,這似乎是一項家庭作業,只允許您使用String類進行排序(顯然效率不高,但是...好吧...仍然是一項家庭作業)。
在這里,我假設您已經對如何使用數組進行排序(例如冒泡排序)有所了解。 如果不是,請搜索最簡單的排序算法(例如插入排序)並進行學習。
如果您知道如何對數組進行排序,則可以簡單地轉換邏輯以使用String的方法。
例如:
yourString.charAt(i)
yourString = yourString.substring(0, i) + charToSet + yourString.substring(i+1)
yourString += charToSet
如果您甚至不了解排序,那么以下一種有效的方法僅涉及String:
我不會給您實際的代碼。 自己學習:
for currentChar in 'a' to 'z'
loop through each char in inputString
if you encounter any char = currentChar then
append that character to resultString
end if
end loop
end for
resultString contains the result you need
使用for
循環和String.charAt()
遍歷字符串。 使用StringBuilder
(為了提高效率,連接字符串也可以,但從性能上考慮)可以按順序組裝字母。 有了這些知識,現在就可以為您實現首選的排序算法(我想這是練習的一部分,因此在這里我不會做;))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.