gpt4 book ai didi

java - NullPointerException 将子字符串从字符串添加到数组列表

转载 作者:行者123 更新时间:2023-12-01 06:17:31 25 4
gpt4 key购买 nike

我想要做的是将 String 中的子字符串添加到 ArrayList 中。基本上将字符串中的每个字母添加到 ArrayList 中的索引中。之后,我有一个 print 语句,只是为了查看字母是否已添加到 ArrayList 中(这是 makearraylisOfChosenWord 下的第二个 for 循环)。但是,当我在有或没有打印语句的情况下运行它时,它都会给我一个 NullPointerException 。是因为我在第一个 for 循环中以错误的方式将字母添加到数组列表中吗?谢谢您的帮助代码如下:

String[] wordList = {"apple", "orange", "strawberry", "banana"};
String chosenWord;

//Make an array list to hold one letter of the chosen word at each index
void makeArrayListOfChosenWord(){
ArrayList<String> lettersOfChosenWord = new ArrayList<String> ();
for (int i = 0; i < chosenWord.length(); i++) {
lettersOfChosenWord.add(chosenWord.substring(i, i+1));
}
for (int i = 0; i < lettersOfChosenWord.size(); i++) {
System.out.println((lettersOfChosenWord.get(i)).toString());
}

}

//Let the game pick a random word from the word list
void setRandomWord(){
int wordListLength = wordList.length;
int pickRandomWord = (int) (Math.random() * wordListLength);
String createRandomWord = wordList[pickRandomWord];
chosenWord = createRandomWord;
System.out.printf("the word is %s letters long", chosenWord.length());
}

最佳答案

我只是在考虑你的问题,并会尝试使用 ArrayListCharacter而不是String 。在我看来,这是可以的,因为您提到您正在分割 String成单Character s,所以ArrayList<Character>()似乎是一个合理的方法。

用于分割String我会使用方法 toCharArray() :

String str = "abcd...";
ArrayList<Character> chars = new ArrayList<Character>();
for (char c : str.toCharArray()) {
chars.add(c);
}

关于java - NullPointerException 将子字符串从字符串添加到数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20502734/

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