java用 simpledateformat 编写简单的图书馆收费系统。图书馆规定每天3元的费用,计算任意两个日期之间该收多少费用。(需要检验输入的是否为日期格式的字符串)
时间: 2024-02-25 21:52:15 浏览: 87
好的,我可以为您提供一个简单的Java代码实现。以下是代码:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class LibraryFeeSystem {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个日期(yyyy-MM-dd):");
String date1Str = scanner.nextLine();
System.out.print("请输入第二个日期(yyyy-MM-dd):");
String date2Str = scanner.nextLine();
try {
Date date1 = sdf.parse(date1Str);
Date date2 = sdf.parse(date2Str);
long diff = date2.getTime() - date1.getTime();
int days = (int) (diff / (1000 * 60 * 60 * 24));
int fee = days * 3;
System.out.println("两个日期之间的费用是:" + fee + "元");
} catch (ParseException e) {
System.out.println("日期格式不正确,请重新输入!");
}
}
}
```
这个程序首先创建了一个 `SimpleDateFormat` 对象,用于解析输入的日期字符串。然后通过 `Scanner` 对象获取用户输入的两个日期字符串。接着,程序尝试使用 `SimpleDateFormat` 对象将输入的字符串解析为 `Date` 对象。如果解析过程中发生了异常,那么说明输入的日期格式不正确,程序会输出错误信息并结束。如果解析成功,程序计算两个日期之间的天数,然后乘以每天的费用(3元),得到总费用,并输出结果。
注意:这里假设日期的格式为 `yyyy-MM-dd`,如果您的实际需求不同,请相应地修改代码。
阅读全文