零钱通-面向过程
SmallChangeSys文件
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class SmallChangeSys { public static void main(String[] args) { boolean loop = true; Scanner scanner = new Scanner(System.in); String key = ""; String details = "零钱通明细"; double money = 0; double balance = 0; Date date = null; SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm"); String note =""; do{ 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.println("请选择(1-4):"); key = scanner.next(); switch(key){ case "1": System.out.println(details); break; case "2": System.out.print("收益入账金额"); money = scanner.nextDouble(); if(money <= 0){ System.out.println("收益入账金额大于0"); break; } balance += money; date = new Date(); System.out.println(sdf.format(date)); details += "\n收益入账\t" + money + "\t" + sdf.format(date)+"\t"+balance; break; case "3": System.out.print("消费金额"); money = scanner.nextDouble(); if(money <= 0 || money > balance){ System.out.println("你的消费金额应该在0-"+balance); break; } System.out.print("消费金额说明"); note = scanner.next(); balance -= money; System.out.println(sdf.format(date)); details += "\n"+note+"\t-" + money + "\t" + sdf.format(date)+"\t"+balance; break; case "4": String choice = ""; while(true){ System.out.println("你确定要退出吗?y/n"); choice = scanner.next(); if("y".equals(choice)||"n".equals(choice)){ break; } } if(choice.equals("y")){ loop=false; } break; default: System.out.println("选择有误,请重新选择"); } }while(loop); System.out.println("退出了零钱通项目"); } } 零钱通-oop-面向对象
SmallChangeSysOOP文件
package oop; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class SmallChangeSysOOP { boolean loop = true; Scanner scanner = new Scanner(System.in); String key = ""; String details = "零钱通明细"; double money = 0; double balance = 0; Date date = null; SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm"); String note =""; public void mainMenu(){ do{ 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.println("请选择(1-4):"); key = scanner.next(); switch(key){ case "1": this.detail(); break; case "2": this.income(); break; case "3": this.pay(); break; case "4": this.exit(); break; default: System.out.println("选择有误,请重新选择"); } }while(loop); } public void detail(){ System.out.println(details); } public void income(){ System.out.print("收益入账金额"); money = scanner.nextDouble(); if(money <= 0){ System.out.println("收益入账金额大于0"); return;//退出方法,不在执行后面的代码 } balance += money; date = new Date(); System.out.println(sdf.format(date)); details += "\n收益入账\t" + money + "\t" + sdf.format(date)+"\t"+balance; } public void pay(){ System.out.print("消费金额"); money = scanner.nextDouble(); if(money <= 0 || money > balance){ System.out.println("你的消费金额应该在0-"+balance); return; } System.out.print("消费金额说明"); note = scanner.next(); balance -= money; System.out.println(sdf.format(date)); details += "\n"+note+"\t-" + money + "\t" + sdf.format(date)+"\t"+balance; } public void exit(){ String choice = ""; while(true){ System.out.println("你确定要退出吗?y/n"); choice = scanner.next(); if("y".equals(choice)||"n".equals(choice)){ break; } } if(choice.equals("y")){ loop=false; } } }
SmallChangeSysApp文件
package oop; public class SmallChangeSysApp { public static void main(String[] args) { new SmallChangeSysOOP().mainMenu(); } }