我正在尝试制作2D切片游戏,当制作包含切片的阵列时,我得到了NullPointerException,这是一些代码。抱歉,如果格式不正确,请第一时间
公共类世界{
//holds data for where to place images and rectangles
int[][] worldDat = new int[25][25];
//hold rectangles for checking interaction with player
Rectangle[][] blocks = new Rectangle[25][25];
//holds block's images to be painted
Image[][] blockImage = new Image[25][25];
//holds position to be pained on screen
int[][] location = new int[25][25];
//enumeration holding block's images and other things of the sort
EWorldBlocks eBlocks;
//sets all of the arrays listed above
public void setupAll(){
for(int i = 0; i < 24; i++){
for(int e = 0; e < 24; e++){
blocks[i][e].setBounds(e * 20, i * 20, 20, 20);
blocks[i][e].setLocation(e*20, i*20);
if(worldDat[i][e] == 6){
blockImage[i][e] = getRandomGrass();
}else if(worldDat[i][e] == 0){
blockImage[i][e] = null;
}else{
blockImage[i][e] = eBlocks.intToImage(worldDat[i][e]);
}
}
}
}
//used to get a random block
private Image getRandomGrass()
{
Random rand = new Random();
int r = rand.nextInt(2);
r++;
return eBlocks.intToImage(r);
}
public World(int[][] worldDat) {
this.worldDat = worldDat;
}
}
然后在本课程中被称为(我相信这是问题的一部分)
公共类worldDraw {
//ALSO if there is a better way to do this, do tell
levels levels = new levels();
static levels sLevels = new levels();
World level1;
static World sLevel1 = new World(sLevels.getLevel1());
//called in paint method for panel
public void draw(Graphics2D g2){
sLevel1.setupAll();
for(int i = 0; i < 24; i++){
for(int e = 0; i < 24; i++){
g2.drawImage(level1.blockImage[i][e], e*25, i*25, null);
}
}
}
//holds levels
public worldDraw() {
level1 = new World(levels.getLevel1());
}
}
创建对象数组时,将创建引用数组,但未分配引用。在尝试使用它们之前,必须先执行此操作。认为它类似于创建鸡蛋纸箱。在先将鸡蛋装满纸箱之前,您不能使用任何鸡蛋。因此,例如您的blocks数组,首先需要将Rectangle对象分配给数组中的每个项目,然后才能对其调用方法。这通常在for循环中完成。例如,
for(int i = 0; i < 24; i++){
for(int e = 0; e < 24; e++){
blocks[i][e] = new Rectangle(....); //...
blocks[i][e].setBounds(e * 20, i * 20, 20, 20);
blocks[i][e].setLocation(e*20, i*20);
问题内容: 我最近在学习Java,并尝试使用类。但是我无法初始化数组对象 谁能告诉我我要去哪里错了? 问题答案: 当你做 您正在创建 引用数组(即引用变量数组) ,这些 引用数组 未指向其他任何地方,即它们为null。您需要将对象分配给数组中上面创建的引用变量。
问题内容: 我正在尝试初始化一个2D数组,其中每个元素的类型为 char 。到目前为止,我只能按照以下方式初始化此数组。 我认为如果数组是10 * 10,这是简单的方法。 有什么有效的方法吗? 问题答案: 这样的事情怎么样: 以下完整的Java程序: 输出: 之所以有效,是因为Unicode中的数字是连续的,从\ u0030开始(这是您从中得到的)。 表达式(您可以在其中变化以及介于两者之间(包括
问题内容: 我正在继续我的上学项目,似乎遇到了另一个错误。所以发生的事情基本上是我收到一个空指针异常,即使代码看起来很好。我相信我的阵列出了点问题,即使经过数小时的搜索,我似乎也找不到该错误。再一次,任何帮助/解决方案将不胜感激。 } 我有一个带有构造函数的学生班,并且有一个说明 但仍然出现错误。我知道要处理的代码很多,因此再次感谢任何帮助。 问题答案: 由于您的代码是当前编写的, 由于您永远不会
问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于
我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db