1、零钱通
date使用
实现
package zhh.chapter08.smallchange01.oop;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Smallchangesysoop {
//选项
int choice=0;
//输入类
Scanner scanner = new Scanner(System.in);
//确定是否退出
char yN='a';
//是否退出标志
boolean flag=true;
//零钱通明细(一直在变),开始为
String details="---------------零钱通明细---------------";
//收益入账金额
double incomeMoney=0.0;
//余额
double balance=0.0;
//时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//消费项目
String consumption=null;
//消费金额
double cost=0.0;
/**
* 显示零钱通菜单
*/
public void mainList(){
do{
//(1) 先完成显示菜单,并可以选择
System.out.println("===================零钱通菜单===================");
System.out.println("\t\t\t1 零钱通明细");
System.out.println("\t\t\t2 收益入账");
System.out.println("\t\t\t3 收费");
System.out.println("\t\t\t4 退出");
System.out.print("请输入(1-4): ");
switch (scanner.nextInt()){
case 1:
this.detail();
break;
case 2:
this.income();
break;
case 3:
this.pay();
break;
case 4:
this.exit();
break;
default:
System.out.println("选择有误请重新选择(1-4):");
}
}while(flag);
}
/**
* 零钱通明细
*/
public void detail(){
System.out.println(details);
}
/**
* 收益入账
*/
public void income(){
System.out.print("收益入账金额: ");
incomeMoney=scanner.nextDouble();
//判断金额是否合理
while(incomeMoney<=0){
System.out.println("金额应该大于0,请重新输入: ");
incomeMoney=scanner.nextDouble();
}
balance+=incomeMoney;
details+="\n收益入账\t"+"+"+incomeMoney+"\t"+sdf.format(date)+"\t"+balance;
}
/**
* 消费
*/
public void pay(){
System.out.print("消费项目: ");
consumption=scanner.next();
System.out.print("消费金额: ");
cost=scanner.nextDouble();
//判断金额是否合理
while(cost<=0||cost>balance){
System.out.print("消费金额应该大于0且不超过"+balance+",请重新输入: ");
cost=scanner.nextDouble();
}
balance-=cost;
details+="\n"+consumption+"\t-"+cost+"\t"+sdf.format(date)+"\t"+balance;
}
/**
* 退出
*/
public void exit(){
//确定输入和判断输入在一起,不方便
// System.out.print("您确定退出吗?请输入(y/n): ");
// yN=scanner.next().charAt(0);
// while(yN!='y'||yN!='n'){
// System.out.print("您确定退出吗?请输入(y/n): ");
// if(yN!='y'){
// flag = false;
// break;
// }else{
// break;
// }
// }
while(true){
System.out.print("您确定退出吗?请输入(y/n): ");
yN=scanner.next().charAt(0);
if(yN=='y'||yN=='n'){
break;
}
}
if(yN=='y'){
flag=false;
}
}
}
package zhh.chapter08.smallchange01.oop;
public class SamllChangeSysAPP {
public static void main(String[] args) {
System.out.println("===============hello公司===============");
new Smallchangesysoop().mainList();
}
}