0

This is a code:

public class Keyboard implements KeyListener {

    private Boolean[] keys = new Boolean[120];
    public Boolean up, down, left, right;

    public void update(){
        up = keys[KeyEvent.VK_UP];
        down = keys[KeyEvent.VK_DOWN];
        left = keys[KeyEvent.VK_LEFT];
        right = keys[KeyEvent.VK_RIGHT];

        for (int i = 0; i < keys.length; i++) {
            if(keys[i]){
                System.out.println(i);
            }
        }
    }

    @Override
    public void keyTyped(KeyEvent ke) {
    }

    @Override
    public void keyPressed(KeyEvent ke) {
        keys[ke.getKeyCode()] = true;
    }

    @Override
    public void keyReleased(KeyEvent ke) {
        keys[ke.getKeyCode()] = false;
    }

}

I'm having null pointer exception is the for loop where I put a condition to check whether its true or not?

halfer
  • 19,824
  • 17
  • 99
  • 186
  • Your keys Boolean array is filled with null values. If you used instead a boolean (primitive) array, it would be filled with default false values. – Hovercraft Full Of Eels Jul 05 '16 at 00:55
  • You know that VK_UP = 38: https://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_UP – duffymo Jul 05 '16 at 00:57

0 Answers0