2013-04-06 100 views
0

我在YouTube上關注了一個教程,當我到了應該使用「this.path」的部分以及類似的東西時,我似乎正在收到錯誤。我似乎無法找到任何解決方案。Java無法訪問的代碼錯誤

這裏是視頻鏈接: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

你能發佈錯誤信息嗎? – michaelt 2013-04-06 04:32:14

回答

7

你的錯誤是在這裏:

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

你有if語句之後附加分號。這應該是:

if(image == null) { 
    return; 
} 

分號結束if語句;換句話說,if(image == null),什麼都不做,然後運行return;

Java不允許無法訪問的代碼。由於您的return語句正在運行而不管if條件如何,所以無法達到此點之後的任何內容。