2013-07-26 20 views
0

我在銀行賬戶上練習,我遇到了這個小問題。我用加法得到相同的數字嗎?

我把它作爲一種方法使它更容易理解。

主要方法

public static void main(String[] args) { 
    Scanner in=new Scanner(System.in); 
    double b=0; 

    while(b!=-1){ 
     b=in.nextInt(); 
     ddd(b); 
    } 
} 

添加方法

public static void Addition(double b){ 
    double g=0; 
    g+=b; 

    System.out.println("GGGGGGGG"+ g); 
} 

的問題是,我得到我每次都輸入相同的輸入。 我知道,從

double g=0; 

的問題,因爲每一個我稱之爲方法additiong會因爲這個聲明double g=0;的被初始化爲零,但我的時間應該在初次它,否則我會得到編譯錯誤。

我該怎麼做才能解決這個問題。

+0

將'g'變成字段。局部變量僅在方法調用的整個生命週期中存在。 –

+0

非常感謝你我修復它。 –

回答

4

可以通過在方法外部聲明它使double g成爲類的成員。所以這裏有一個例子類

class TestClass { 

    static double g = 0; 

    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     double b = 0; 
     while (b != -1) { 
      b = scan.nextDouble() //you need to change nextInt() to nextDouble() 
      add(b); 
     } 
     System.out.println(g); 
    } 

    public static void add(double b) { 
     g += b; //g refers to the variable about the main method 
    } 
} 

這可能不是你的類是如何工作的,但使用的變量g的方法之外確保該類保留即使方法結束它的價值。希望這可以幫助!

+0

我真的很感謝你的回答。非常感謝你。 –

+0

沒問題,如果你繼續編碼,你肯定需要知道這一點:) –

0

在while語句之前初始化它。

相關問題