2013-10-19 52 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