Я создал программу, внутри которой существует специальный метод, который гарантирует, что все объекты в массиве, указывающие на нуль, указывают на пустое пространство. По какой-то причине, когда я запускаю код, он дает мне java.lang.NullPointerException.java.lang.NullPointerException появляется без причины
Я понимаю, что такое NullPointerException есть, поэтому я добавил, если заявление, так что он не будет давать ошибку, но она по-прежнему делает
Код:
public class TextGraphics {
public static void main(String[] args) {
displaySize size = new displaySize(5,5);
displaySize.output(5,3,size,"H");
displaySize.run(size);
}
}
class displaySize {
public static int indent;
public static int sizeX = 0;
public static int sizeY = 0;
public displaySize() {
}
public displaySize(int screenX, int screenY) {
sizeX = screenX;
sizeY = screenY;
indent = sizeX;
}
public static void output(int x, int y, displaySize size, String print) {
rarray(size)[x + y * size.sizeX] = print;
}
public static String[] rarray(displaySize size) {
String [] display;
return display = new String[sizeX * sizeY];
}
public static void run(displaySize size) {
int next = 0;
for (int i = 0; i < sizeY; i++) {
for (int b = 0; b < indent; b++) {
next++;
if(rarray(size)[next].equals(null))
{
System.out.print(rarray(size)[next] + " ");
rarray(size)[next] = " ";
}
System.out.print(rarray(size)[next] + " ");
}
System.out.println("/n");
}
}
}
Всегда есть причина. Вы искали в NullPointerException? –
Никогда не выполняйте нулевую проверку следующим образом: 'rarray (size) [next] .equals (null)'. Всегда используйте '=='. Вероятно, это вызывает проблемы. например do 'if (rarray (size) [next] == null) {' –
@DontKnowMuchButGettingBetter Я знаю, что исключение нулевого указателя - это когда объект, который используется (например, напечатан на экране, добавлен в другой объект obeject и т. д.), указывает null, и поэтому не может быть использован –