我正在关注youtube上的一个教程,当我到达我应该使用“this.path”这样的部分时,我似乎遇到了错误。我似乎找不到任何解决方案。
以下是视频的链接:http://www.youtube.com/watch?v=o7pfq0W3e4I
package gfx;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class SpriteSheet {
public String path;
public int width;
public int height;
public int[] pixels;
public SpriteSheet(String path) {
BufferedImage image = null;
try {
image = ImageIO.read(SpriteSheet.class.getResourceAsStream(path));
} catch (IOException e) {
e.printStackTrace();
}
if(image == null);{
return;
}
this.path = path;
this.width = image.getWidth();
this.height = image.getHeight();
pixels = image.getRGB(0, 0, width, height, null, 0, width);
for(int i = 0; i <= pixels.length;i++){
pixels[i] = (pixels[i] & 0xff)/64;
}
for(int i = 0;i <= 8;i++) {
System.out.println(pixels[i]);
}
}
}
答案 0 :(得分:7)
您的错误在这里:
if(image == null);{
return;
}
if
语句后还有一个分号。这应该是:
if(image == null) {
return;
}
分号结束if语句;换句话说,if(image == null)
,什么都不做,然后运行return;
Java不允许无法访问的代码。由于无论if条件如何都在运行return
语句,因此无法达到该点之外的任何内容。