2013-10-19 64 views
0

我在Netbeans中創建了組合鎖類,我很困惑爲什麼當我運行該文件時我沒有收到任何輸出。任何人都知道我在做什麼錯了?任何和所有的幫助將不勝感激!這裏是我的建築工類代碼:組合鎖建議

package combinationlock ; 
/** 
* A class to implement a combination lock with 26 dial positions 
* and a three-letter combination 
* 
* @Carlos 
*/ 
public class CombinationLock 
{ 
// instance variable declarations go here 
private boolean open ; 
private int Count ; 
private String position1 ; 
private String position2 ; 
private String position3 ; 
private String first = "F" ; 
private String second = "I" ; 
private String third = "U" ; 


/** 
* Creates a lock with a given combination consisting of three upper-case characters. 
* @param first the first letter of the combination 
* @param second the second letter of the combination 
* @param third the third letter of the combination 
*/ 
public CombinationLock(String first, String second, String third) 
{ 
    this.first = first ; 
    this.second = second ; 
    this.third = third ; 
    open = false ; 
    Count = 0 ; 
} 


/** 
* Set the dial to a position 
* @param aPosition a String consisting of a single uppercase letter (A..Z) 
*/ 
public void setPosition(String aPosition) 
{ 
    if (Count == 0)   
    { 
     position1 = aPosition ; 
     Count = Count + 1 ; 
    } 
    else if (Count == 1) 
    { 
     position2 = aPosition ; 
     Count = Count + 1 ; 
    } 
    else if (Count == 2) 
    { 
     position3 = aPosition ; 
    } 
} 

/** 
* Try opening the lock 
*/ 
public void tryToOpen() 
{ 
    if (first.equals(position1) && second.equals(position2) && third.equals(position3)) 
    { 
    open = true ; 
    System.out.println("Its open!") ; 
} 
else 
{ 
    open = false ; 
    System.out.println("Wrong combination! Please try again.") ; 
} 
} 

/** 
* Check whether the lock is open 
* @return true or false indicating whether the lock is open 
*/ 
public boolean isOpen() 
{ 
    return open ; 
} 

/** 
* Close the lock and print a message indicating that the lock is now closed 
*/ 
public void lock() 
{ 
    Count = 0 ; 
    open = false ; 
    System.out.println("You re-apply the lock") ; 
} 
} 

這裏是我在我的測試類中使用的代碼:

package combinationlock ; 
import javax.swing.JOptionPane ; 
/** 
* 
* @author Carlos 
*/ 
public class CombinationLockTester 
{ 
    public static void main (String[] args) 
    { 
    CombinationLock MasterLock = new CombinationLock("F", "I", "U"); 

    String input = JOptionPane.showInputDialog 
      ("Please enter first letter.") ; 

    MasterLock.setPosition(input) ; 

    String input2 = JOptionPane.showInputDialog 
      ("Please enter second letter.") ; 

    MasterLock.setPosition(input2) ; 

    String input3 = JOptionPane.showInputDialog 
      ("Please enter third letter") ; 

    MasterLock.setPosition(input3); 

    System.out.println("The combination entered was " +input + input2 +input3) ; 
+0

你用這個類來調用這個類的代碼是什麼? –

+0

你期待什麼輸出?這些代碼都不會調用combinationlock類中的任何東西。 – MegaWidget

+0

對不起,我現在添加了我的測試人員班。如果這是你所要求的。 – Saliva

回答

0

任何人都知道我做錯了嗎?

根據您向我們顯示的代碼,問題在於您的測試人員類不嘗試打開或關閉鎖。如果這不是真正的問題,請向我們展示您的所有測試儀類。

我還會注意到,你是違反公認的編碼標準命名的標識符。變量或字段名稱應以小寫字母開頭。將Count更改爲countMasterLockmasterLock