gpt4 book ai didi

java - 对类数组进行排序?

转载 作者:行者123 更新时间:2023-12-01 23:45:55 25 4
gpt4 key购买 nike

我有一个按字母顺序对单词进行排序的程序,这些单词来自输入它们的用户(我正在使用 GUI)。不幸的是,代码的“排序”部分有一些下划线,原因我还不知道,但我怀疑它与类/数组有关。任何有关如何纠正此问题的提示都非常棒!

在“Public”下,我创建了一个类和数组。

class Word{
String word;
Word(String _word) {
word= _word;
}
}

ArrayList <Word> small = new ArrayList <Word>(); //array for words...

在 GUI 上的“排序按钮”actionPerformed 下...

String word;
Word b = new Word(word); //these two lines stores words inputted by user
small.add(b); //second line

//begins to sort
for (int k = 0; k < word.length(); k++) {
word[k] = word; //underlined red "array required"
int x;
for (int i = 0; i < word.length(); i++) {
// Assume first letter is x
x = i;
for (int j = i + 1; j < word.length(); j++) {
if (word[j].compareToIgnoreCase(word[x]) < 0) {
//underlined red "array required"
x = j;
}
}
if (x != i) {
//swap the words if not in correct order
final String temp = word[i]; //underlined red "array required"
word[i] = word[x]; //underlined red "array required"
word[x] = temp; //underlined red "array required"
}
istArea.append(word[i] + "\n");// Output ascending order
//underlined red "array required"
}
}

最佳答案

这不能编译。您无法输入 word[x],因为 word 不是数组,而是一个 String。如果您尝试获取String的第一个字符,请改用:

char c = "foo".charAt(0);

您可以在算法中将 0 更改为 x

或者,您可以这样做:

char[] chars = "foo".toCharArray();

现在,您在使用 words[x] 的每个地方都可以使用 chars[x] 并且它应该可以编译。

但是,这只是您的众多错误之一:

  1. l 独占一行,不带分号。我什至不知道你在这里的意图,但你不能这样做。以下是一些其他问题:
  2. small 未定义。这是什么?
  3. istArea 未定义。这是什么?
  4. word[k] = word; 是什么意思?

关于java - 对类数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17054962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com