Q值。在一系列陈述中,将尼克账户中的所有资金 - 包括支票和储蓄 - 转移到卡罗尔的支票账户。这应该让尼克最后没有钱 - 即他的两个账户都有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'类型错误。有人可以向我解释为什么会这样做吗?
答案 0 :(得分:1)
您无法将两个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) { ... }
从这些方法返回的值取决于您的要求。