Java从单独的方法返回变量

Java从单独的方法返回变量,java,Java,我已经创建了一个工作变化计算器,它使用驱动程序类“coinscalculatester”从另一个恰当命名的“CoinsCalculate”调用计算和输出方法。这是两个班 Coinscalutester类 共标类 运行测试仪时,这是输出: Please enter amount of change => $0.84 Quarter(s): 0 Nickel(s): 0 Dime(s): 0 Penny(s): 0 我认为我遇到的问题是,一旦计算方法完成,变量就会返回到它们的初始值,因此当在

我已经创建了一个工作变化计算器,它使用驱动程序类“coinscalculatester”从另一个恰当命名的“CoinsCalculate”调用计算和输出方法。这是两个班

Coinscalutester类 共标类 运行测试仪时,这是输出:

Please enter amount of change => $0.84
Quarter(s): 0
Nickel(s): 0
Dime(s): 0
Penny(s): 0

我认为我遇到的问题是,一旦计算方法完成,变量就会返回到它们的初始值,因此当在
printChange
方法中返回它们时,我得到所有变量的0。我知道我可以将SOP行放在一种方法中,避免所有这些麻烦,但我希望它们采用不同的方法。因此,我的问题是,我如何做到这一点?

不要在计算方法中重新定义这些变量,否则它们会隐藏具有相同名称的类级变量:

q = c / 25;
c = c % 25;

d = c / 10;
c = c % 10;

n = c / 5;
c = c % 5;

p = c / 1;
c = c % 1;

在方法内声明变量时,其作用域仅限于该方法

代码在calculate()方法中声明局部变量,一旦该方法返回,这些变量就不存在了


这些变量与您的公共类变量具有相同的名称,它们从未被使用过(c除外)。

噢,哇,非常感谢。我想是这样简单的事情。现在,当我在calculate方法中重新定义这些变量时,是否在该方法中创建了同名的新变量?或者它们是相同的全局变量,只是在方法内部被更改。是的。创建的新变量仅在方法执行时存在。当该方法返回时,变量被核化。此外,您的方法不会返回任何内容。它做东西,但不返回任何东西。
Please enter amount of change => $0.84
Quarter(s): 0
Nickel(s): 0
Dime(s): 0
Penny(s): 0
q = c / 25;
c = c % 25;

d = c / 10;
c = c % 10;

n = c / 5;
c = c % 5;

p = c / 1;
c = c % 1;