0

私は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]);
    }


}       
}
4

1 に答える 1

7

あなたのエラーはここにあります:

if(image == null);{
    return;
}

ifステートメントの後に追加のセミコロンがあります。これは代わりに次のようにする必要があります。

if(image == null) {
    return;
}

セミコロンは if ステートメントを終了します。つまり、if(image == null)何もせずに実行しますreturn;

Java では、到達不能なコードは許可されません。if 条件に関係なくステートメントが実行されているため、returnその時点を超えるものには到達できません。

于 2013-04-06T04:14:28.847 に答える