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;

因为每次调用该方法addition g都会因为这个语句被初始化为零double g=0;,但是我应该初始化它,否则我会得到编译错误。

我应该怎么做才能解决这个问题。

4

2 回答 2

4

您可以通过在方法之外声明它来创建类的双重 ga 成员。所以这是一个示例类

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 可以确保即使方法结束,类仍保留其值。希望这可以帮助!

于 2013-07-26T19:53:28.690 回答
0

在 while 语句之前初始化它。

于 2013-07-26T19:52:43.983 回答