public class BankAccount {
double balance;
BankAccount(double openingBalance){
balance=openingBalance;
public double getBalance(){
return balance;
}
public void deposit(double amount){
balance += amount;
}
public void withdraw (double amount){
if (balance > amount){
balance -= amount;
}else if (amount > balance){
System.out.print("Error");
}else if (amount == balance){
balance = 0;
}
}
}
我的驱动程序类
public class Driver {
static BankAccount acc1;
public static void main (String[] args){
BankAccount acc1 = new BankAccount (1500);
acc1.deposit(1500);
acc1.withdraw(1000);
System.out.println("Withdrawl Amount: $" +acc1.withdraw(I GET AN ERROR) +"Deposit: $" +acc1.balance);
答案 0 :(得分:0)
问题是你正在调用acc1.withdraw(...)并试图将它返回的任何内容附加到String。由于withdraw方法返回void,这是无效的语法。它不清楚你真正想要的是什么,但是如果你想因为某种原因将withdraw的返回值附加到String,那么撤回需要返回一些东西。也许你想要这样的东西......
public class BankAccount {
double balance;
BankAccount(double openingBalance){
balance=openingBalance;
}
public double getBalance(){
return balance;
}
public void deposit(double amount){
balance += amount;
}
public double withdraw (double amount){
if (balance > amount){
balance -= amount;
}else if (amount > balance){
System.out.print("Error");
}else if (amount == balance){
balance = 0;
}
// you can return the amount, or the balance, or whatever you want here...
return amount;
}
}
调用方法的一种方法......
public class Driver {
public static void main (String[] args){
BankAccount acc1 = new BankAccount (1500);
System.out.println("After Withdrawing Amount: $" +acc1.withdraw(50) +" The New Balance: $" +acc1.balance);
}
}