2013-04-06 6 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

ответ

7

Ваша ошибка здесь:

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

У Вас есть дополнительная точка с запятой после if заявления. Это должно быть:

if(image == null) { 
    return; 
} 

Точка с запятой завершает инструкцию if; другими словами, if(image == null), ничего не делать, затем запустить return;

Java не разрешает недостижимый код. Поскольку ваш оператор return выполняется независимо от if-состояния, ничего из этого пункта достичь невозможно.

Смежные вопросы