Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList中的NullPointerException_Java_Android - Fatal编程技术网

Java ArrayList中的NullPointerException

Java ArrayList中的NullPointerException,java,android,Java,Android,我这辈子都搞不清楚! 它说第20行有一个空指针异常,就是这一行 walls.add(new Wall(random.nextInt(20), random.nextInt(20))); 我申报错了吗?我做错了什么?这是不是其中的一件事,它是如此愚蠢,我只是盲目的 以下是完整的代码: package com.astar.world; import java.util.ArrayList; import java.util.List; import java.util.Random; impo

我这辈子都搞不清楚! 它说第20行有一个空指针异常,就是这一行

walls.add(new Wall(random.nextInt(20), random.nextInt(20)));
我申报错了吗?我做错了什么?这是不是其中的一件事,它是如此愚蠢,我只是盲目的

以下是完整的代码:

package com.astar.world;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import com.astar.objects.Player;
import com.astar.objects.Wall;

public class World {

private Player player;
private List<Wall> walls;
private Random random;

public World() {
    player = new Player(2, 2);
    walls = new ArrayList<Wall>();
    for (int i = 0; i < 10; i++) {
        walls.add(new Wall(random.nextInt(20), random.nextInt(20)));
    }
}

public void update(float deltaTime) {

}

public Player getPlayer() {
    return player;
}

public List<Wall> getWalls() {
    return walls;
}
package com.astar.world;
导入java.util.ArrayList;
导入java.util.List;
导入java.util.Random;
导入com.astar.objects.Player;
导入com.astar.objects.Wall;
公共阶级世界{
私人玩家;
私人名单墙;
私有随机;
公共世界(){
玩家=新玩家(2,2);
墙=新的ArrayList();
对于(int i=0;i<10;i++){
添加(新墙(random.nextInt(20),random.nextInt(20));
}
}
公共无效更新(浮动增量时间){
}
公共播放器getPlayer(){
返回球员;
}
公共列表getWalls(){
返回墙;
}
}

以下是错误:

线程“LWJGL应用程序”java.lang.NullPointerException中出现异常 在com.astar.world.world.(world.java:20)在 GameScreen.com.astar.screens.GameScreen.(GameScreen.java:13)位于 com.astar.game.astaragame.create(astaragame.java:11)位于 com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) 在 com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)


我没有看到您在代码中实例化变量
random

random
未初始化,因此出现
NullPointerException

要解决这个问题,就去吧

private Random random = new Random();

为什么-1回答这个问题?来自那些认为你不应该回答这个问题的海报,因为这个问题太简单了。忽略它并继续。实例化将是比初始化更合适的单词Instantiation将是比初始化更合适的单词