java-method 1
package com.edu.proj1;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class Sys {//1. 先完成显示菜单,并可以选择菜单,给出相应提示//2. 完成零钱通明细// 把收益和消费保存在数组 / 使用对象 / 使用String拼接//3. 完成收益//4. 完成消费//5. 退出public static void main(String[] args) {//菜单最好用do while,因为菜单必须显示一次//定义相关变量boolean loop = true;// new Scanner(System.in).varScanner scanner = new Scanner(System.in);String key = "";// 使用string拼接完成String details = "-------零钱通明细-----------";// 收益,增加的变量double money = 0;double balance = 0;Date date = null; //表示当前日期,是一个classSimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //用于日期格式化//消费,增加的变量String note = "";do{System.out.println("\n=======零钱通菜单=======");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)");key = scanner.next(); //手动输入的string附给key//使用switch 分支结构switch (key){case "1" :System.out.println(details);break;case "2" :System.out.println("收益金额:");money = scanner.nextDouble(); //手动输入的数字附给Money//money的值应该校验// 找出不正确的金额,把不正确的break----避免不必要的分支if(money <= 0){System.out.println("收益金额需要大于0");break;}balance += money;//拼接收益信息到detailsdate = new Date(); //获取当前的日期details += "\n收益\t+" + money +"\t" + sdf.format(date) +"\t余额" + balance;break;case "3" :System.out.println("消费金额:");money = scanner.nextDouble();//范围的校验if(money <= 0 || money > balance){System.out.println("消费金额需要大于0");break;}System.out.println("请输入消费的说明:");note = scanner.next();balance -= money;date = new Date();//拼接消费信息到detailsdetails += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t余额" + balance;break;case "4" ://定义一个变量,接收用户的输入String choice = "";//使用while+breakwhile(true){System.out.println("确定要退出吗?y/n");choice = scanner.next();if("y".equals(choice) || "n".equals(choice)){break;}}//用户退出while循环后,再判断输入的是y or nif(choice.equals("y")){loop = false;}break;default:System.out.println("选择有误,请重选");}}while (loop);System.out.println("------退出了零钱通-------");}
}
oop版本
package com.edu.proj1.oop;
//该类是完成零钱通的各个功能的类---OOPimport java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;//将各个功能对应一个方法
public class Sys2 {//属性boolean loop = true;Scanner scanner = new Scanner(System.in);String key = "";// 使用string拼接完成String details = "-------零钱通明细-----------";// 收益,增加的变量double money = 0;double balance = 0;Date date = null; //表示当前日期,是一个classSimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //用于日期格式化//消费,增加的变量String note = "";// 方法public void mainMenu(){do{System.out.println("\n=======零钱通菜单=======");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)");key = scanner.next(); //手动输入的string附给key//使用switch 分支结构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);System.out.println("------退出了零钱通-------");}public void detail(){System.out.println(details);}public void income(){System.out.println("收益金额:");money = scanner.nextDouble(); //手动输入的数字附给Money//money的值应该校验// 找出不正确的金额,把不正确的break----避免不必要的分支if(money <= 0){System.out.println("收益金额需要大于0");// break;return; //退出方法,不再执行后面的代码}balance += money;//拼接收益信息到detailsdate = new Date(); //获取当前的日期details += "\n收益\t+" + money +"\t" + sdf.format(date) +"\t余额" + balance;}public void pay(){money = scanner.nextDouble();//范围的校验if(money <= 0 || money > balance){System.out.println("消费金额需要大于0");return;}System.out.println("请输入消费的说明:");note = scanner.next();balance -= money;date = new Date();//拼接消费信息到detailsdetails += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t余额" + balance;}public void exit(){String choice = "";//使用while+breakwhile(true){System.out.println("确定要退出吗?y/n");choice = scanner.next();if("y".equals(choice) || "n".equals(choice)){break;}}//用户退出while循环后,再判断输入的是y or nif(choice.equals("y")){loop = false;}}
}
package com.edu.proj1.oop;public class SysApp {public static void main(String[] args) {new Sys2().mainMenu();}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!