2016-02-28 106 views
0

嗨,大家好,我知道这是一个奇怪的问题,但可以返回对象zero?我问,因为我有一个巨大的设计缺陷,我正在运行一个基本的GUI,如果我在菜单上回答我想要的东西,它会继续使用相同的旧答案。将对象重置为零?

为了解决这个问题,我会再问下部分,但后来我遇到了一个更糟的问题..一直问。我觉得被困tbh,我无法找到我的编程手册reset或绕过这个。

Object[] menuPossibilities = {"Create a New Account", "Deposit", "Withdraw", "Display Balance", "Exit"}; 

Object menuValues = JOptionPane.showInputDialog(null, "Please pick an option from this menu: ", 
      "input", JOptionPane.INFORMATION_MESSAGE, null, menuPossibilities, menuPossibilities [0]); 
while (!menuValues.equals("Exit")){ 

    Bank newBank = new Bank(); 
    // Bank newBank1 = new Bank(); 
    // Bank newBank2 = new Bank(); Do the same thing as below but switch out 
    // bank1 and bank2 as a substitute. 
    ArrayList<BankAccount> bankList = newBank.getBankAccounts(); 

     if (menuValues.equals("Create a New Account")){ 

      newBank.openAccount(); 
     } 

     else if (menuValues.equals("Deposit")){ 
      newBank.deposit(); 
     } 
     else if (menuValues.equals("Withdraw")){ 
      newBank.withdraw(); 
     } 
     else if (menuValues.equals("Display Balace")){ 
      newBank.deposit(); 
     } 
     else if (menuValues.equals("Exit")){ 
      System.out.println("Thank you for using our service."); 
     } 

     Object menuValuesTWO = JOptionPane.showInputDialog(null, "Since you did not pick 5 please pick another option: ", 
        "input", JOptionPane.INFORMATION_MESSAGE, null, menuPossibilities, menuPossibilities [0]); 

} 

以上是代码我有我的情况下,我不是很清楚。但基本上如果我拿出menuvalueTWO并点击创建银行账户,那么它会回滚并说"So wanna make another bank account?"

+0

不应该menuValuesTWO menuValues,因为你在这个循环? –

回答

0

...可以将对象返回为零吗?

除非某些方法明确将其设置为零,否则不会。

在这种情况下,问题通常是其他问题;例如,您实际上正在查看不同的对象

在您的例子,它看起来像你已经在路上了一些错误,你已建模和/或类似openAccountdepositwithdraw实现的操作。我希望:

  • openAccount()应该回到它创造了BankAcount,并且还增加了银行的银行账户清单。

  • deposit()应该是BankAccount上的操作,并且应该参数说明要存多少。

  • withdraw()应该是BankAccount上的一个操作,并且应该带一个参数说明要退出多少。

依此类推。

(或者,如果depositwithdrawBank对象上的操作,那么就需要另一个参数 - 一个账号? - 说哪个账户上操作)

0
Object menuValuesTWO = JOptionPane.showInputDialog(null, "Since you did not pick 5 please pick another option: ", 
        "input", JOptionPane.INFORMATION_MESSAGE, null, menuPossibilities, menuPossibilities [0]); 

应该

menuValues = JOptionPane.showInputDialog(null, "Since you did not pick 5 please pick another option: ", 
        "input", JOptionPane.INFORMATION_MESSAGE, null, menuPossibilities, menuPossibilities [0]); 

我无法验证更改,因为我无法运行您的代码。但是,@Stephen C建议您必须使用与您循环相同的对象。

+0

也许这是因为我以前的做法,但是Shire的代码正在工作。我想我只是拼写错误或错过了一点synthax什么的......我真的不能说为什么。无论如何谢谢你的帮助。我想这只是一个“再次提出问题”的例子,如果你想要一个不同的答案。 –