Так что я делаю Конвертер PigLatin, и у меня есть NullPointerException
. Теперь вы можете спросить, пробовал ли я сам по себе, и я отвечаю за вас, да. В любом случае, вот мой код: линия вызвавшего ошибку закончится "ERROR"NULL Указатель исключений исключения
package project.pkg16.pkg9;
public class Project169_Data {
private static String[] words;
private static String pigLatinWords;
public static void setWords(String input) {
words = input.split(" ");
}
public static String convertToPigLatin() {
for (int i = 0; i < words.length; i++) {
String wordTemp = null;
String word = words[i].toString();
char firstLetter = word.charAt(0);
StringBuilder sb = new StringBuilder(word.toString());
sb.append(String.valueOf(firstLetter).toLowerCase());
sb.deleteCharAt(0);
sb.append("ay ");
StringBuilder sb2 = new StringBuilder(wordTemp); LINE 24 ERROR
sb2.append(sb.toString());
pigLatinWords = sb2.toString();
}
return pigLatinWords;
}
}
А потом вот это второй класс:
package project.pkg16.pkg9;
public class Project169_Main {
public static Project169_Input project169_Input = new Project169_Input();
public static Project169_Data project169_Data = new Project169_Data();
public static void main(String[] args) {
String userInput = Project169_Input.getInput();
project169_Data.setWords(userInput);
String pigLatinString = project169_Data.convertToPigLatin(); LINE 14 ERROR
}
}
И, наконец, класс 3:
package project.pkg16.pkg9;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Project169_Input {
public static String getInput() {
JFrame frame = new JFrame("English to Pig Latin");
String input = JOptionPane.showInputDialog(frame, "Enter the english words you wish to convert to Pig Latin.");
return input;
} //End of method...
} //End of Class...
Ошибка:
run:
Exception in thread "main" java.lang.NullPointerException
at java.lang.StringBuilder.<init>(StringBuilder.java:92)
at project.pkg16.pkg9.Project169_Data.convertToPigLatin(Project169_Data.java:24)
at project.pkg16.pkg9.Project169_Main.main(Project169_Main.java:14)
BUILD SUCCESSFUL (total time: 31 seconds)
Чтобы решить NPE, вы всегда должны сначала взглянуть на строку, которая выбрасывает ее, так как она укажет, какая переменная имеет значение null. Итак, какая строка в вашем коде выше бросает NPE? –
Серьезно, даже не сообщая нам, где происходит NPE? Удачи! – John3136
Re: «Теперь вы можете спросить, не попробовал ли я сам по себе, и я отвечаю за вас, да, у меня есть»: я не думаю, что мы спросим, * ли вы пытались, вопрос в том, что * ты пытался. И вообще, глупо говорить нам, что у вас есть исключение с нулевым указателем, но затем, чтобы дать нам абсолютно никакой информации об этом. – ruakh