我正在嘗試製作一個TravelCard類,該類還應檢查該卡是否仍然可用(未過期)。但我有這個錯誤如何在構造函數中設置到期日期?
未報告的異常ParseExeption;必須捕獲或宣佈該行
this.expirationDate = sdf.parse(expiry);
如何設置在構造函數中的到期日被拋出
?
我從來沒有使用過日期,因爲有人可能會注意到。而且我在Java中是相當新的。
package something;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TravelCard {
private double balance;
private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
private Date expirationDate;
private Date today = Calendar.getInstance().getTime();
public TravelCard(double balance, String expiry){
sdf.setLenient(false);
this.balance = balance;
this.expirationDate = sdf.parse(expiry);
}
public void pay(double price){
if (today.before(expirationDate)){
if(this.balance >= price){
this.balance -= price;
}
else {
System.out.println("Insufficient funds");
}
}
else {
System.out.println("Card expired");
}
}
public double getBalance(){
return balance;
}
}
'ParseException'是一個檢查異常。請閱讀[例外教程](https://docs.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html),並決定是否要抓住或拋出它。 – RealSkeptic