Java 什么';我的二传手和接球手怎么了?
我对java非常陌生,我的代码似乎不起作用。请帮忙。Java 什么';我的二传手和接球手怎么了?,java,getter-setter,Java,Getter Setter,我对java非常陌生,我的代码似乎不起作用。请帮忙。 我有这个班级帐户 public class Account { private String name; private double balance; Account(){ name = null; balance = 0; } Account(String name, double balance){ setName(name); //
我有这个班级帐户
public class Account {
private String name;
private double balance;
Account(){
name = null;
balance = 0;
}
Account(String name, double balance){
setName(name);
// this.name = name;
setBalance(balance);
// this.balance = balance;
System.out.println(this.name + " " + this.balance);
}
private void setName(String name){
if (name == null){
System.out.println("Invalid Name");
}
else this.name = name;
}
private void setBalance(double balance) {
if (balance < 0){
System.out.println("Balance should not be negative");
}
else this.balance = balance;
}
private String getName() {
return name;
}
private double getBalance() {
return balance;
}
public double withdraw(double amount){
if (amount < this.balance){
this.balance = balance - amount;
}
else if (amount > this.balance) {
System.out.println("Balance is less than Withdrawal Amount.\nCheck balance and try again");
}
else;
System.out.println(this.name + " " + this.balance);
return this.balance;
}
}
为什么它不能打印正确的余额?输入是什么,错误的输出是什么样子?
else代码>是不必要的。else子句是可选的。对我来说也很好。只是想知道,为什么你的getter是私有的,只有少数情况下它们是私有的,而你肯定不是其中之一。它先打印myName 1000,然后打印这个-余额小于取款金额。请检查余额,然后重试
Account MySavingsAccount = new Account("myName", 1000);
MySavingsAccount.withdraw(600);