2016-05-31 2 views
-1

Моя программа отлично компилируется, но всякий раз, когда я пытаюсь запустить ее, вы получаете исключение NullPointerException. Я попытался найти это, и обнаружил, что ошибка связана с тем, что какое-то значение равно null, пока программа пытается его использовать, но я снова проверил все и подошел пустой.Что вызывает мой NullPointerException

import hsa.Console; 
    import java.awt.*; 
    import java.util.* ; 
    public class PlatformAndBall2 
    { 
     static Console g ; 
     public static void BallLoop() throws InterruptedException 
    { 
    do { 

     int height = g.getHeight(); 
     int width = g.getWidth(); 
     int xpos,ypos ; xpos= 0; ypos =0 ; 
     int radius ; radius = 20 ; 
     int addx, addy ; addx = 3; addy = 3; 

     xpos += addx ; 
     ypos += addy ; 
     g.setColor(Color.red) ; 
     g.clear(); 
     g.fillOval(xpos,ypos,radius,radius) ; 

     Thread.sleep(15); // sets frames 

     if (xpos < 0) 
     addx += 3 ; 

     if (xpos > width - radius) 
     addx += -3 ;  

     if (ypos < 0) 
     addy += 3 ;  

     if (ypos > height -radius) 
     addy += -3 ; 
    }while (true); 
     } 
     public static void main(String[] args)throws InterruptedException { 

     Console g = new Console() ; 
     BallLoop(); 
     }} 
+0

Это является Java вопрос, а не вопрос JavaScript. – Pointy

+0

Всегда включайте свой код, желаемый/ожидаемый результат, а также фактический результат и/или ошибку. – nateyolles

+0

Ваш отладчик покажет вам путь к ясности. – nicomp

ответ

0

Статическое поле static Console g никогда не инициализируется. В вашей основной вы инициализирует локальную Console g = new Console();. Initialize g = new Console();

public static void main(String[] args)throws InterruptedException { 
    g = new Console(); 
    BallLoop(); 
} 
Смежные вопросы