模拟零钱通系统。
主要功能有零钱明细、入账、消费和退出。
package com.yusa.smallchanges;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class SmallChangeSys {
public int key;
public double balance;
public boolean loop =true;
public Scanner scanner = new Scanner(System.in);
public String detilInfo="====零钱通明细====";
// 显示菜单
public static void main(String[] args) {
SmallChangeSys smallChangeSys = new SmallChangeSys();
smallChangeSys.loopMenu();
}
//循环菜单
public void loopMenu(){
while (true) {
printMenu();
key = scanner.nextInt();
if(key==1){
printDetil();
}
if(key==2){
income();
}
if(key==3){
cost();
}
if (key == 4) {
quit();
}
if (!loop){
break;
}
}
}
public void printMenu(){
System.out.println("====零钱通菜单====");
System.out.println("\t1.零钱通明细");
System.out.println("\t2.收益入账");
System.out.println("\t3.消费");
System.out.println("\t4.退出");
System.out.println("请选择:");
}
//零钱明细
public void printDetil(){
System.out.println(detilInfo);
}
//入账
public void income(){
System.out.println("请输入入账金额:");
double inco=scanner.nextDouble();
while (inco<0){
System.out.println("入账金额有误,请重新输入:");
inco=scanner.nextDouble();
}
balance+=inco;
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
detilInfo+="\n收益入账\t+"+inco+"\t"+simpleDateFormat.format(date) + "\t余额:"+balance;
System.out.println("入账成功");
}
//消费
public void cost(){
System.out.println("请输入消费金额:");
double inco=scanner.nextDouble();
while (inco<0|| inco>balance){
System.out.println("消费金额有误,请重新输入:");
inco=scanner.nextDouble();
}
System.out.println("请输入消费事项:");
String costthings=scanner.next();
balance-=inco;
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
detilInfo+="\n"+costthings+"\t-"+inco+"\t"+simpleDateFormat.format(date) + "\t余额:"+balance;
System.out.println("消费成功");}
//退出
public void quit(){
System.out.println("是否退出?y/n");
boolean quitFlag=false;
while(true){
String s= scanner.next();
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i)=='y'){
loop=false;
quitFlag=true;
System.out.println("已退出");
break;
}
else if (s.charAt(i)=='n'){
quitFlag=true;
System.out.println("已取消退出");
break;
}
}
if(quitFlag){
break;
}
}
}
}