//零钱通项目
package com.javalearn.smallchange_;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class SmallChangeSys {
public static void main(String[] args) {
new Menu().mainMenu();
}
}
class Menu {
Scanner scanner = new Scanner(System.in);
String menuDetails = "";
double balance = 0;
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
public void mainMenu() {
Menu menu = this;
boolean flag = true;
do {
menu.printMenu(menu);
int num = scanner.nextInt();
switch (num) {
case 1:
menu.detail();
break;
case 2:
menu.profit();
break;
case 3:
menu.consumption();
break;
case 4:
flag = menu.exit();
break;
default:
System.out.println("error...");
break;
}
} while (flag);
}
public void printMenu(Menu menu) {
System.out.println("------------------零钱通菜单------------------");
System.out.println(" \t 1 零钱通明细");
System.out.println(" \t 2 收益入账");
System.out.println(" \t 3 消\t费");
System.out.println(" \t 4 退\t出");
System.out.print("请选择(1-4):");
}
public void detail() {
System.out.print("------------------零钱通明细------------------");
System.out.println(menuDetails);
}
public void profit() {
System.out.println("------------------零钱通收益------------------");
System.out.print("本次收益入账:");
double money = scanner.nextDouble();
if (money < 0) {
System.out.println("入账金额不能小于0");
return;
}
date = new Date();
this.balance += money;
menuDetails = menuDetails + "\n收益入帐\t+" + money + "\t" + sdf.format(date) + "\t余额:" + balance;
}
public void consumption() {
System.out.println("------------------零钱通消费------------------");
System.out.print("本次消费金额:");
double money = scanner.nextDouble();
if (money > balance) {
System.out.println("消费金额大于余额,不能消费");
return;
}
date = new Date();
this.balance -= money;
menuDetails = menuDetails + "\n收益消费\t-" + money + "\t" + sdf.format(date) + "\t余额:" + balance;
}
public boolean exit() {
System.out.print("是否退出(y/n)?");
char yn = scanner.next().charAt(0);
if (yn != 'y') {
return true;
}
System.out.println("--------------------退出---------------------");
System.out.println("this is exit");
return false;
}
}
Java oop
最新推荐文章于 2024-07-12 15:51:39 发布