我需要做的是取一个随机字母的字符串并取字母并按字母顺序排列。例如,lidfj,将; dfijl。
我无法弄清楚我应该如何启动代码。我知道我可能需要使用compare,因为我不允许使用数组,但我不确定这是否是最好的方法。我也不确定如何开始。
提前致谢。
编辑:我认为我已经完成了一夜,因为我似乎无法想到其他任何事情。
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"));
}
}
答案 0 :(得分:5)
从您的问题和评论中,似乎它是一个家庭作业,你可以只使用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
答案 1 :(得分:2)
使用for
循环和String.charAt()
遍历字符串。使用StringBuilder
(为了提高效率,连接字符串也可以,但是性能明智)来组合顺序中的字母。有了这些知识,现在实现你首选的排序算法(我想,这是排除算法的一部分,所以我不会在这里做;)