可以用于日期初始化 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
代码如下:
package 零钱通;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.logging.SimpleFormatter;
public class ChangePass {
//初始化变量
double money = 0;
double balance = 0;//余额
//date 是 Java。util.Date 类型,表示日期
Date date = null;
//可以用于日期初始化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String note = "";//消费
//定义相关变量
boolean loop = true;
String details = "------------零钱通明细------------";
//菜单函数
public void Menu() {
while (true) {
System.out.println("==========零钱通菜单==========");
System.out.println(" 1 零钱通明细 ");
System.out.println(" 2 收益入账 ");
System.out.println(" 3 消费 ");
System.out.println(" 4 退出 ");
Scanner sc = new Scanner(System.in);
System.out.println("请选择(1-4):");
String line = sc.nextLine();
switch (line) {
case "1":
System.out.println(details);
break;
case "2":
income();
break;
case "3":
pay();
break;
case "4":
System.out.println("欢迎下次使用!");
System.exit(0);
}
}
}
//零钱通明细
public void detail() {
System.out.println(details);
}
//完成收益入账
public void income() {
System.out.println("收益入账金额:");
Scanner sc = new Scanner(System.in);
money = sc.nextDouble();
if (money <= 0) {
System.out.println("收益入账金额需要大于0");
return;
}
balance += money;
date = new Date();
details += "\n收益入账\t" + money + "\t" + sdf.format(date) + "\t" + balance;
}
//消费
public void pay() {
System.out.println("消费金额:");
Scanner sc = new Scanner(System.in);
money = sc.nextDouble();
if (money <= 0 | money > balance) {
System.out.println("你没有这么多钱" + balance);
return; //利用return跳出循环
}
System.out.println("消费说明:");
Scanner s = new Scanner(System.in);
note = s.next();
balance -= money;
//拼接消费信息到details
date = new Date();
details += "\n" + note + "\t" + money + "\t" + sdf.format(date) + "\t" + balance;
}
}
测试类:
package 零钱通;
public class test {
public static void main(String[] args) {
new ChangePass().Menu();
}
}
运行: