2014-11-08 60 views
0

我得到了一個問題,我正在寫一個Java類,它的承包商將需要兩個參數,參數是一個圖像對象 - BufferedImage,我需要檢查圖像的寬度和高度。如何拒絕Java構造函數中的不合格參數?

一個規則是 - imageOne的懷特需要是相同imageTwo,如果不是我 想要的應用程序停止,並提高信息告訴用戶該 兩個圖像都不好(不合格)。

我想應該有一個常規的方式來處理我的想法在Java中,也許我需要rasie異常?

對不起,添加的代碼部分,我寫道:

public class Replacer { // This class to merge two images, so it need they have same width. 

private BufferedImage smallImage; 
private BufferedImage bigImage; 

Replacer(BufferedImage smallImage, BufferedImage bigImage) { 

    // I want the smallImage and bigImage have same weight   

    this.setSmallImage(smallImage); 
    this.setBigImage(bigImage); 

    wOfNewScreen = bigImage.getWidth(); 
    hOfSmallImage = smallImage.getHeight(); 
    hOfBigImage = bigImage.getHeight(); 

    if (wOfNewScreen != samllImage.getWidth()) { 

     System.out.println("ERROR: The two images don't have same width!!"); 
    } 

} 

// ... }

有人能幫忙嗎?提前致謝!

裏德

+0

好的,對於這項任務,到目前爲止你做了什麼? – SMA 2014-11-08 10:36:32

+1

一些代碼我的主... – nobalG 2014-11-08 10:37:46

+0

爲什麼要使用'JOptionPane'給出一個錯誤消息。看看這個鏈接:http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html – 2014-11-08 10:38:37

回答

2

正確!一個例外將是這裏最好的選擇。

取而代之的是打印錯誤消息的行只需執行此操作。

throw new IllegalArgumentException("Both pictures need to be of same width"); 
0

是啊,一個異常的作品,尤其是對於一個構造函數。好電話=)

另一種選擇,請查看factory method pattern