2013-03-06 76 views
1
package bankAccount; 

public class CurrentAccount { 

     int account[]; 
     int lastMove; 
     int startingBalance = 1000; 

     CurrentAccount() { 
      lastMove = 0; 
      account = new int[10]; 
     } 

     public void deposit(int value) { 
      account[lastMove] = value; 
      lastMove++; 
     } 

     public void draw(int value) { 
      account[lastMove] = value; 
      lastMove++; 
     } 

    public int settlement() { 
      int result = 0; 
      for (int i=0; i<account.length; i++) { 
        result = result + account[i] + startingBalance; 

        System.out.println("Result = " + result); 

      } 

      return result; 

    } 

    public static void main(String args[]) { 
       CurrentAccount c = new CurrentAccount(); 
        c.deposit(10); 



     } 
    } 

此刻,當我運行的類,預期的System.out.println不會出現,如果我只需要移動公共靜態無效的主要(字串[] args)到頂部,這會產生多個紅點。對我來說,重構我的代碼的最佳方式是什麼,以便以預期的方式工作?獲取值,顯示爲Java CurrentAccount類

+0

你期望你的程序打印什麼?因爲在實際版本中不打印任何東西。 – niculare 2013-03-06 11:20:50

+1

當你說「System.out.println沒有出現」。您是否在「結算()」方法中討論System.out – Jayamohan 2013-03-06 11:22:39

回答

1

你可以有文件Main.java在名爲Main另一個類中,你可以寫你的

public static void main(String args[]) 

,並呼籲

c.settlement(); 

在你的main()進行打印。

還多了一個建議, 在構造函數你有

account = new int[10]; 

可容納只有10 int秒。

在您的存款()和繪製()您不檢查account大小。當lastMove的值大於10時,整個代碼就會被炸燬。

因此,我建議你使用ArrayList

1

你從沒叫過解決方法......

public static void main(String args[]) { 
    CurrentAccount c = new CurrentAccount(); 
    c.deposit(10); 
    c.settlement(); 
} 

我有你來自一些非OOP語言,如C或PHP的感覺。因此,一些解釋:

  • main方法是靜態的:這意味着它「存在」,即使沒有創建對象實例,它可以被看作是如果它屬於類的實例。
    • 相反,對於其他方法來「工作」,一個實例是必需的。
  • 這種方式,main方法可以是(並且實際上)用作
  • 它被執行,並且該應用程序的入口點的時候它存在,(如果沒有其他線程仍在運行)應用程序終止。
  • 所以沒有別的運行是這種方法只是通過自身的外...
    • ,所以如果你不叫c.settlement(); - 它不會發生...

其他說明:

  • 運行main不創建外圍類的一個實例
  • new CurrentAccount(),你創建了一個對象實例,它有它的狀態存儲,並且可以被操縱
  • 要小心數組,它們必須被照顧,這往往是不方便的...
0

爲什麼你期望打印輸出出現?您實際上沒有調用結算方法,因此該命令未被執行。

0

你沒有打電話給結算..所以沒有出現

如果添加c.settlement ......這是很好..

0

您還沒有,直到你調用的主要方法稱爲deposit()settlement() ,你無法獲得預期的輸出。