gpt4 book ai didi

java - 将扫描仪中的单词处理为字符串数组

转载 作者:行者123 更新时间:2023-11-30 10:05:57 25 4
gpt4 key购买 nike

我是编程新手,正在尝试设计一种方法来创建具有多个参数的方法。一个扫描器,一个单词的字符串数组,一个匹配单词数组和单词使用次数的字符串数组,以及一个表示字符串数组中有多少单词的整数。我的目标是一个一个地处理scanner中的单词,如果scanner中的一个单词也在word数组中我想加一个到int数组中,如果一个单词不在word数组中我想加一个在数组的第一个空空间处的单词数组,并在与单词相同的位置向 int 数组添加一个。该方法的目标是在扫描仪中处理完单词后返回单词数组中有多少单词。我的第一次尝试在 .equals() 上引发了 nullPointerException。我的方法

public static int scanScanner(Scanner s,String[] words, int[] wordCount, int wordsInWordsArray) {
for(int i = 0; i < words.length; i++) {
String currentToken = s.next();
if(words[i].equals(currentToken)) {
wordScore[i]=+lineScore;
wordCount[i]++;
}
else {
words[wordsInWordsArray] = currentToken;
wordScore[wordsInWordsArray]=+lineScore;
wordCount[wordsInWordsArray]++;
wordsInWordsArray++;
}
}
return wordsInWordsArray;
}

最佳答案

几件事:

  1. 你的外循环应该遍历扫描器中的单词,而不是数组中的单词。正如您现在所拥有的那样,如果您碰巧从一个空数组开始,您的方法将不会执行任何操作。
  2. 你需要数组的原因是什么?一般来说,你应该更喜欢 java.util数组上的集合类。他们将为您处理调整大小。在这种情况下,一个 Map<String, Stats>似乎是要走的路,在哪里Stats将是您创建的包含计数和分数的类。如果分数只是计数的函数,那么您只需要计数就可以使用 Map<String, Integer> .

您在这里的方法似乎不必要地复杂。

关于java - 将扫描仪中的单词处理为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54976681/

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