目標
面向過程版
代碼
package new_pluse;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class change_common{public static void main(String arg[]){//定義相關變量Scanner scanner = new Scanner(System.in);String key="";String detaile="1 ==============零錢通明細============";boolean loop=true;double money=0;double balance=0;Date date=null;SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//格式化信息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(detaile);break;case "2": System.out.println("收益為多少");money=scanner.nextDouble();//money的值范圍應該校驗balance+=money;//拼接收益入賬信息date= new Date();//獲取當前日期detaile+="\n收益入賬\t"+money+"\t"+sdf.format(date)+"\t"+balance;//拼接信息System.out.println(detaile);if (money<0) {System.out.println("\n輸入的金額應該大于0\n");break;}break; case "3": System.out.println("3 消費金額");money=scanner.nextDouble();if (money<0||money>balance) {System.out.println( "\n你消費的金額應該在0--"+balance);break;}System.out.println("消費說明");String note=scanner.next();balance-=money;detaile+="\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;}}//判斷是不是y或者n//在用戶退出后判斷y或Nif (choice.equals("y")) {loop=false;//退出}//看要不要退出System.out.println("4 退出");break;default:}}while (loop);System.out.println("========退出了零錢通項目=========");}}
知識
- 運用do? while語句實現整個主體循環
- 運用switch語句來進行選擇不同功能
- 運用if語句進行金錢的邏輯判斷
面對過程
就是每一個類實現一個功能? ? ?代碼
package new_pluse;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class oppo_change {Scanner scanner = new Scanner(System.in);String key="";String detaile=" ==============零錢通明細============";boolean loop=true;double money=0;double balance=0;Date date=null;SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//格式化信息oppopublic 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();
// qpp.income(scanner, money, balance, detaile, sdf, date);break;case "3":this.consum();break;case "4":this.goout();break;}} while (loop);}public void detail() {System.out.println(detaile);}public void income() {System.out.println("收益為多少");money=scanner.nextDouble();if (money<0) {System.out.println("\n輸入的金額應該大于0\n");return;}//money的值范圍應該校驗balance+=money;//拼接收益入賬信息date= new Date();//獲取當前日期detaile+="\n收益入賬\t"+money+"\t"+sdf.format(date)+"\t"+balance;//拼接信息System.out.println(detaile);}public void consum(){System.out.println("3 消費金額");money=scanner.nextDouble();if (money<0||money>balance) {System.out.println( "\n你消費的金額應該在0--"+balance);return;}System.out.println("消費說明");String note=scanner.next();balance-=money;detaile+="\n"+note+"\t"+money+"\t"+sdf.format(date)+"\t"+balance;//拼接信息System.out.println(detaile);// break;}public void goout() {String choice="";while(true) {System.out.println("你確定要退出嗎 y/n");choice=scanner.next();if ("y".equals(choice)||"n".equals(choice)) {break;}}//判斷是不是y或者n//在用戶退出后判斷y或Nif (choice.equals("y")) {loop=false;//退出}//看要不要退出System.out.println("4 退出");return;}}
/*package new_pluse;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class change_common{public static void main(String arg[]){//定義相關變量Scanner scanner = new Scanner(System.in);String key="";String detaile="1 ==============零錢通明細============";boolean loop=true;double money=0;double balance=0;Date date=null;SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//格式化信息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(detaile);break;case "2": System.out.println("收益為多少");money=scanner.nextDouble();//money的值范圍應該校驗balance+=money;//拼接收益入賬信息date= new Date();//獲取當前日期detaile+="\n收益入賬\t"+money+"\t"+sdf.format(date)+"\t"+balance;//拼接信息System.out.println(detaile);if (money<0) {System.out.println("\n輸入的金額應該大于0\n");break;}break; case "3": System.out.println("3 消費金額");money=scanner.nextDouble();if (money<0||money>balance) {System.out.println( "\n你消費的金額應該在0--"+balance);break;}System.out.println("消費說明");String note=scanner.next();balance-=money;detaile+="\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;}}//判斷是不是y或者n//在用戶退出后判斷y或Nif (choice.equals("y")) {loop=false;//退出}//看要不要退出System.out.println("4 退出");break;default:}}while (loop);System.out.println("========退出了零錢通項目=========");}}*/
使用一個菜單類menue
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();
// qpp.income(scanner, money, balance, detaile, sdf, date);break;case "3":this.consum();break;case "4":this.goout();break;}} while (loop);}
來模仿每個行為
然后分別用方法構建每個行為 如detail,consum,goout等
public void detail() {System.out.println(detaile);}public void income() {System.out.println("收益為多少");money=scanner.nextDouble();if (money<0) {System.out.println("\n輸入的金額應該大于0\n");return;}//money的值范圍應該校驗balance+=money;//拼接收益入賬信息date= new Date();//獲取當前日期detaile+="\n收益入賬\t"+money+"\t"+sdf.format(date)+"\t"+balance;//拼接信息System.out.println(detaile);}public void consum(){System.out.println("3 消費金額");money=scanner.nextDouble();if (money<0||money>balance) {System.out.println( "\n你消費的金額應該在0--"+balance);return;}System.out.println("消費說明");String note=scanner.next();balance-=money;detaile+="\n"+note+"\t"+money+"\t"+sdf.format(date)+"\t"+balance;//拼接信息System.out.println(detaile);// break;}public void goout() {String choice="";while(true) {System.out.println("你確定要退出嗎 y/n");choice=scanner.next();if ("y".equals(choice)||"n".equals(choice)) {break;}}//判斷是不是y或者n//在用戶退出后判斷y或Nif (choice.equals("y")) {loop=false;//退出}//看要不要退出System.out.println("4 退出");return;}