我正在計算字符串中元音的數量。問題是,它正確編譯,但是當我運行它的命令行窗口說「異常在線程‘主’顯示java.lang.NullPointerException在CountVowels.main(CountVowels.java:25)。如何解決空指針異常?
import javax.swing.JOptionPane;
public class CountVowels
{
public static void main(String[] args)
{
String thingy = JOptionPane.showInputDialog("Please enter a sentence, and I will count the vowels.");
int count = 0;
char[] chars = new char[thingy.length()];
String[] letters = new String[thingy.length()];
for(int i = 0; i < thingy.length(); ++i)
{
chars[i] = thingy.charAt(i);
}
for(int i = 0; i < letters.length; ++i)
{
letters[i].valueOf(chars[i]);
}
for(int i = 0; i < chars.length; ++i)
{
if(letters[i].equals("a") || letters[i].equals("e") || letters[i].equals("i") || letters[i].equals("o") || letters[i].equals("u"))
{
++count;
}
}
System.out.println("There are " + count + " vowels in the string + " + thingy);
}
}
是什麼原因導致這個問題,我怎麼能解決這個問題,我怎樣才能防止它在未來再次發生
線25是我的if語句:
if(letters[i].equals("a") || letters[i].equals("e") || letters[i].equals("i") || letters[i].equals("o") || letters[i].equals("u"))
{
++count;
}
而且這是第25行? –
這行代碼並沒有做你認爲它是:'letters [i] .valueOf(chars [i]);' – GriffeyDog