1

我需要做的是获取一个包含随机字母的字符串,然后将这些字母按字母顺序排列。例如,lidfj,将是;东风。

我无法弄清楚我应该如何启动代码。我知道我可能需要使用比较,因为我不允许使用数组,但我不确定这是否是最好的方法。而且我也不确定我将如何开始。

提前致谢。

编辑:我想我已经完成了今晚的工作,因为我似乎想不出其他任何事情。

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"));
    }
}
4

2 回答 2

5

从您的问题和评论来看,这似乎是一项家庭作业,您只能使用 String 类进行排序(这显然效率不高,但是......好吧......无论如何它是一个家庭作业)。

在这里,我假设您已经知道如何使用数组进行排序(例如冒泡排序)。如果没有,请搜索最简单的排序算法,如插入排序并学习它。

如果您知道如何使用数组进行排序,您可以简单地将您的逻辑转换为使用 String 的方法。

例如:

  • 访问位置的字符:yourString.charAt(i)
  • 在位置设置字符:yourString = yourString.substring(0, i) + charToSet + yourString.substring(i+1)
  • 附加一个字符:yourString += charToSet

如果您甚至没有排序方面的知识,这里有一种只涉及字符串的方法:

我不会给你实际的代码。自己学吧:

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
于 2013-11-14T02:08:15.750 回答
2

使用for循环并String.charAt()遍历字符串。使用 a StringBuilder(为了提高效率,连接字符串也可以,但在性能方面很不错)按顺序组装字母。有了这些知识,现在实现你喜欢的排序算法(我猜,这是练习的一部分,所以我不会在这里做;))

于 2013-11-14T01:44:19.673 回答