java此处不允许使用void_关于java:错误:此处不允许使用void类型

本问题已经有最佳答案,请猛点这里访问。

问:在一系列陈述中,将尼克账户中的所有资金 - 包括支票和储蓄 - 转移到卡罗尔的支票账户。这应该让尼克最后没有钱 - 即他的两个账户都有0钱。有几种方法可以实现。建议使用一个或多个中间变量来保存Nick的账户中的值,然后将该值存入Carol的支票账户。注意:您必须通过调用BankAccount类中定义的方法从Nick的帐户中获取值。使用BankAccount类中的相应方法打印出Nick和Carol帐户的检查和储蓄信息的报告。

一个。

公共类BankAccount {

private String name;

private int checkMoney;

private int saveMoney;

public BankAccount(String who, int checking, int saving){

name = who;

checkMoney = checking;

saveMoney = saving;

}

public String getAccountName(){

return name;

}

public int getCheckMoney(){

return checkMoney;

}

public int getSaveMoney(){

return saveMoney;

}

public void makeCheckingDeposit(int amt){

checkMoney = checkMoney + amt;

}

public void makeSavingsDeposit(int amt){

saveMoney = saveMoney + amt;

}

public void makeCheckingWithdrawal(int amt){

if(checkMoney >= amt)

checkMoney = checkMoney - amt;

}

public void makeSavingsWithdrawal(int amt){

if(saveMoney >= amt)

saveMoney = saveMoney - amt;

}

//prints name and both account balances to the console

public void printReport() {

System.out.println(name +" checking:" + checkMoney +" savings:" + saveMoney);

}

}

公共类BankingDriver {

public static void main(String [] args){

BankAccount nicksAcct = new BankAccount("Nick",450,550);

BankAccount carolsAcct = new BankAccount("Carol",600,700);

int nicksCheckingMoney = nicksAcct.getCheckMoney();

int nicksSaveMoney = nicksAcct.getSaveMoney();

int deposit =(nicksAcct.makeCheckingWithdrawal(nicksCheckingMoney)+ nicksAcct.makeSavingsWithdrawal(nicksSaveMoney));

carolsAcct.makeCheckingDeposit(存款);

nicksAcct.printReport();

carolsAcct.printReport();

}

}

BankDriver的第7行一直给我这里不允许的'void'类型错误。有人可以向我解释为什么会这样做吗?

makeCheckingWithdrawal和makeSavingsWithdrawal不返回可以一起添加的值:它们是void方法。

您不能将两个void方法的结果一起添加。 例如:

private static void foo() {}

private static void bar() {}

public static void main(String... args) {

System.out.println(foo() + bar());

}

希望这显然毫无意义。 实际上,您无法对void方法的结果执行任何操作:您只能调用该方法。

如果要添加makeCheckingWithdrawal和makeSavingsWithdrawal方法的结果,则需要使它们返回数字类型,例如:

public int makeCheckingWithdrawal(int amt) { ... }

public int makeSavingsWithdrawal(int amt) { ... }

您从这些方法返回的值取决于您的要求。

我明白你说了什么,但你认为我应该如何解决这个问题呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值