admin管理员组

文章数量:1516870

零钱通OOP编程

零钱通OOP编程

package com.hspedu.smallchange.oop;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;/****该是完成零钱通的各个功能类* 使用OOP(面向对象编程)* 将各个功能对应一个方法*/public class SmallChangSysOOP {//属性boolean loep=true;Scanner scanner=new Scanner(System.in);String key="";//完成零钱通明细//思路(1)可以把收益入账和消费,保存进数组(2)可以使用对象(3)简单的话可以使用String拼接String deatils="\n========零钱通明细==========";//3.完成收益入账  完成功能驱动程序员增加新的变量和代码//思路:定义新的变量double money=0;double balance=0;Date rq=null;//date 是 java.util.Date 类型,表示日期SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于日期格式化的//4.消费//思路:定义新变量,保存消费金额String note="";//先完成显示菜单,并且可以选择菜单,给出对应提示public void mainMenu(){do {System.out.println("+++++++选择零钱通菜单(OOP)+++++++");System.out.println("\t\t\t1.零钱通明细");System.out.println("\t\t\t2.收益入账");System.out.println("\t\t\t3.消费");System.out.println("\t\t\t4.退\t出");System.out.print("请选择1-4:");key=scanner.next();//使用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 (loep);}//完成零钱通明细public void detail(){System.out.println(deatils);}//完成收益入账public void income(){System.out.print("收益入账金额:");money=scanner.nextDouble();//money 的值范围应该校验-》一会再完善//思路:编程思想//找出不正确的金额的条件,然后给出提示,就直接returnif(money<=0){System.out.println("收益入账金额需要大于0");return;//退出方法,不再执行后面的代码}balance+=money;//拼接收益入账信息 deatisrq=new Date();//获取当前的日期deatils+="\n收益入账\t+"+money+"\t"+sdf.format(rq)+"\t"+"金额:"+balance;}//消费public void pay(){System.out.print("用户输入消费的金额");double xf=scanner.nextDouble();//a 的值范围应该校验-》一会再完善//思路://找出不正确金额if(xf<=0||xf>balance){System.out.println("消费金额0-"+balance);return;}System.out.print("请输入消费说明");note=scanner.next();double a=balance-xf;deatils+="\n"+note+"\t-"+xf+"\t"+sdf.format(rq)+"\t"+"金额:"+a;}//退出public void exit(){// 用户输入4退出时,给出提示"你确定要退出吗?y/n,必须正确输入y/n,否则循环输入,直到输入y或者n//思路://(1)定义一个变量 choice:选择,接收用户的输入//(2)使用while+break;来处理接收到输入y或者n//(3)当用户退出while后,再判断choice 是y或者n,就可以决定是否退出//(4)建议一段代码完成一个小功能。尽量不要混在一起String choice="";while (true){//要求用户必须输入y/n,否则就一直循环System.out.println("你确定要退出吗?y/n");choice=scanner.next();if("y".equals(choice)||"n".equals(choice)){break;}else {System.out.println("请重新输入");}}//当用户退出while,进行判断if(choice.equals("y")){//退出loep=false;}}
}
package com.hspedu.smallchange.oop;/*** 这里我们直接调用SmallChangSysOOP的对象,显示主菜单即可*/
public class SmallChangSysAPP {public static void main(String[] args) {new SmallChangSysOOP().mainMenu();}
}

本文标签: 零钱通OOP编程