gpt4 book ai didi

java - 如何在构造函数中设置到期日期?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:01 24 4
gpt4 key购买 nike

我正在尝试创建一个 TravelCard 类,该类还应检查该卡是否仍然可用(未过期)。但是我有这个错误

unreported exception ParseExeption; must be caught or declared to be thrown

在这一行

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;
}

}

最佳答案

这意味着,parse() 方法抛出一个已检查的异常,catch 异常或throw

捕获异常的方法:

public void TravelCard(double balance, String expiry){
sdf.setLenient(false);
this.balance = balance;
try {
this.expirationDate = sdf.parse(expiry);
} catch (ParseException e) {
e.printStackTrace();
}
}

抛出异常的方式:

 public void TravelCard(double balance, String expiry) throws ParseException{

关于java - 如何在构造函数中设置到期日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33945619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com