Java 按字符对数组中的字符串排序

Java 按字符对数组中的字符串排序,java,arrays,string,sorting,char,Java,Arrays,String,Sorting,Char,我正在尝试将数组中的字符串列表按字母顺序排序,而不使用sort方法 public static String[] sortedAdjectives(String[] original) { String[] sortedArray; int aValue = 65; String word = ""; sortedArray = new String[25]; for(int i = 0; i <25; i++) { orig

我正在尝试将数组中的字符串列表按字母顺序排序,而不使用sort方法

public static String[] sortedAdjectives(String[] original)
{
    String[] sortedArray;
    int aValue = 65;
    String word = "";
    sortedArray = new String[25];
    for(int i = 0; i <25; i++)
    {
        original[i]=word;
        char c = word.charAt(0);
        sortedArray[c-aValue]=word;

    }
    return sortedArray;

当我试着运行我的程序时,我不知道哪里出了问题。如果你能给我指出正确的方向,我将不胜感激。谢谢您的时间。

您已将
word
初始化为空字符串:

String word = "";
然后,您在一个空字符串上调用
charAt(0)
。不能那样做。
您的字符串需要至少长于1个字符才能调用该方法。

您已将
word
初始化为空字符串:

String word = "";
然后,您在一个空字符串上调用
charAt(0)
。不能那样做。
您的字符串需要至少长于1个字符才能调用该方法。

您已将
word
初始化为空字符串:

String word = "";
然后,您在一个空字符串上调用
charAt(0)
。不能那样做。
您的字符串需要至少长于1个字符才能调用该方法。

您已将
word
初始化为空字符串:

String word = "";
然后,您在一个空字符串上调用
charAt(0)
。不能那样做。
您的字符串必须至少长于1个字符才能调用该方法。

您在for循环中犯了一个小错误。 它应该是word=original[i];你做了相反的事情,使这个词从不以原始参数为参照


这里还有一些需要改进的地方:使用arraylist将具有更好的扩展性,并避免删除重复的字母。

您在for循环中犯了一个小错误。 它应该是word=original[i];你做了相反的事情,使这个词从不以原始参数为参照


这里还有一些需要改进的地方:使用arraylist将具有更好的扩展性,并避免删除重复的字母。

您在for循环中犯了一个小错误。 它应该是word=original[i];你做了相反的事情,使这个词从不以原始参数为参照


这里还有一些需要改进的地方:使用arraylist将具有更好的扩展性,并避免删除重复的字母。

您在for循环中犯了一个小错误。 它应该是word=original[i];你做了相反的事情,使这个词从不以原始参数为参照



这里还有一些需要改进的地方:使用arraylist将具有更好的扩展性,并避免删除重复的字母。

在排序方法中,
word
是空字符串。您正在使用此命令覆盖输入数组的所有值,并尝试访问不存在的字符。您正在对输入字符串进行许多假设(有几个错误,比如假设只有25个形容词。您的策略应该是实现一个方法,对字符串数组进行排序并调用该方法。在排序方法中,
word
是空字符串。您正在用它覆盖输入数组的所有值,并尝试访问不存在的字符。您正在输入g关于输入字符串的许多假设(有几个错误,比如假设只有25个形容词。您的策略应该是实现一个方法,对字符串数组进行排序并调用该方法。在排序方法中,
word
是空字符串。您正在用它覆盖输入数组的所有值,并尝试访问不存在的字符。您正在输入g关于输入字符串的许多假设(有几个错误,比如假设只有25个形容词。您的策略应该是实现一个方法,对字符串数组进行排序并调用该方法。在排序方法中,
word
是空字符串。您正在用它覆盖输入数组的所有值,并尝试访问不存在的字符。您正在输入g关于输入字符串的许多假设(有几个是错误的,比如假设只有25个形容词。您的策略应该是实现一个对字符串数组进行排序并调用该数组的方法。除此之外,最好添加一点,因为
String
s是不可变的,调用method
fixcapitalize
应该返回一个
String
及其值sh。)除非此方法修改
字符串
实习生(这将非常奇怪),否则将替换
中的
值。但是,将原始[i]=word;使word与索引为0的项相等吗?不,您必须使用
word=original[i]
。使用
原始[i]=word
您正在将
word
的值赋给
original[i]
。除此之外,最好添加一点,因为
String
s是不可变的,调用方法
fixcapitalize
应该返回一个
String
,它的值应该替换
的值,除非这个方法修改
String
实习生(这真的很奇怪)。但是不是原创的[i]=word;使word等于索引0处的项目?否,您必须使用
word=original[i]
代替。使用
original[i]=word
您将
word
的值分配给
original[i]
。除此之外,最好添加一点,因为
String
s是不可变的,调用方法
fixcapitalize
应该返回一个
String
,它的值应该替换
的值,除非这个方法修改
String
实习生(这真的很奇怪)。但是不是原创的[i]=word;使word等于索引0处的项目?否,您必须使用
word=original[i]
代替。使用
original[i]=word
您将
word
的值分配给
original[i]
。除此之外,最好添加一点,因为
String
s是不可变的,调用方法
fixcapitalize
应该返回一个
String
,它的值应该替换t