所以我有一个任务,我必须开设一个银行账户。长话短说,我有一个类,它在方法中包含您的操作(存款、取款等),还有一个驱动程序,它会填充空白(即客户名称、余额等),并调用另一个类的方法。
现在是我的问题。例如,当我存款时,我的变量向该方法发送罚款并正确进行数学计算并获得正确的余额,但返回余额的新值是一个问题。它仍然与驱动程序中之前的值相同。
这是我司机的押金代码
String deposit1 = JOptionPane.showInputDialog ("How much would you like to deposit?");
int deposit = Integer.parseInt (deposit1);
myBank.getDeposit(deposit, balance);
这是我的存款方式代码
public void getDeposit(int deposit, int balance)
{
if (deposit<0)
{
System.out.println ("Invalid Number");
deposit=0;
}
balance =balance + deposit;
}
任何帮助将不胜感激,似乎找不到任何解决方案,我已经被困了一段时间
谢谢
P.S 这是我第一次来这些论坛,如果我做错了什么,很抱歉
P.P.S 我的java知识不是那么高,还是个初学者
编辑: 我们已经学习了实例变量,并且接触了一些 return 语句,但我们还没有学习有关 passby 的任何内容。我所说的返回是指给司机正确的值(value),如果这让你失望了,抱歉
Edit2:非常感谢user1710742,终于明白了。我现在知道了。有道理
最佳答案
问题是您正在尝试更改变量的副本,而不是您提供给该方法的确切副本。当您退出该方法时,副本将被销毁,并且只剩下未更改的原始值。
除非您使用 return
语句告诉该方法,否则该方法无法返回值。
public int getDeposit(int deposit, int balance)
{
if (deposit<0)
{
System.out.println ("Invalid Number");
deposit=0;
}
return balance + deposit;
}
调用:
int Total = myBank.getDeposit(存款, 余额);
关于java - 调用方法,但不会返回值。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162365/