零钱通项目



1.先完成显示菜单,并可以选择

package Smallchange;import java.util.Scanner;public class SmallChangeSys {
// 化繁为简
// 1.先完成显示显示菜单,并给出对应提示
public static void main(String[] args) {boolean loop = true;Scanner scanner = new Scanner(System.in);String key = " ";
// 定义相关的变量do{System.out.println("=====零钱通菜单=====");System.out.println("\t1 零钱通明细");System.out.println("\t2 收益入账");System.out.println("\t3 消费");System.out.println("\t4 退 出");System.out.println("请选择(1-4)");key = scanner.next();// 使用switch 分支控制switch (key){case "1":System.out.println("1 零钱通明细");break;case "2":System.out.println("2 收益入账");break;case "3":System.out.println("3 消费");break;case "4":System.out.println("4退 出");loop = false;break;default:System.out.println("选择有误,请重新选择");}}while (loop);System.out.println("-----推出了零钱通项目-----");
}
}

package Smallchange;import java.util.Scanner;public class SmallChangeSys {
// 化繁为简
// 1.先完成显示显示菜单,并给出对应提示
// 2.完成零钱通明细
public static void main(String[] args) {// 定义相关的变量boolean loop = true;Scanner scanner = new Scanner(System.in);String key = " ";
//2.完成零钱通明细
// (1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以使用String拼接String details = "--------------------零钱通明细--------------------";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 分支控制switch (key){case "1":
// System.out.println("1 零钱通明细");System.out.println(details);break;case "2":System.out.println("2 收益入账");break;case "3":System.out.println("3 消费");break;case "4":System.out.println("4退 出");loop = false;break;default:System.out.println("选择有误,请重新选择");}}while (loop);System.out.println("-----推出了零钱通项目-----");
}
}

package Smallchange;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class SmallChangeSys {
// 化繁为简
// 1.先完成显示显示菜单,并给出对应提示
// 2.完成零钱通明细
// 3.收益入账
public static void main(String[] args) {// 定义相关的变量boolean loop = true;Scanner scanner = new Scanner(System.in);String key = " ";
//2.完成零钱通明细
// (1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以使用String拼接String details = "--------------------零钱通明细--------------------";// 3.完成收益入账
// 定义新变量double money = 0;double balance = 0;Date date = null;//date是 java。util.date 类型,表示日期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.print("请选择(1-4):");key = scanner.next();// 使用switch 分支控制switch (key){case "1":
// System.out.println("1 零钱通明细");System.out.println(details);break;case "2":System.out.print("收益入账金额:");money = scanner.nextDouble(); //money的值应该校验balance += money;
// 拼接收益入账信息到 detailsdate = new Date();//获取当前日期
// System.out.println(sdf.format(date));details += "\n 收益入账\t" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "3":System.out.println("3 消费");break;case "4":System.out.println("4退 出");loop = false;break;default:System.out.println("选择有误,请重新选择");}}while (loop);System.out.println("-----推出了零钱通项目-----");
}
}

package Smallchange;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class SmallChangeSys {/*化繁为简* 1.先完成显示显示菜单,并给出对应提示* 2.完成零钱通明细* 3.收益入账* */
public static void main(String[] args) {//定义相关的变量boolean loop = true;Scanner scanner = new Scanner(System.in);String key = " ";//2.完成零钱通明细//(1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以使用String拼接String details = "--------------------零钱通明细--------------------";//3.完成收益入账 完成功能驱动程序员添加新的变化和代码//定义新变量double money = 0;double balance = 0;Date date = null;//date是 java。util.date 类型,表示日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于格式化的//4.消费//定义新变量,保存消费的原因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.print("请选择(1-4):");key = scanner.next();//使用switch 分支控制switch (key){case "1":System.out.println(details);break;case "2":System.out.print("收益入账金额:");money = scanner.nextDouble(); //money的值应该校验balance += money;//拼接收益入账信息到 detailsdate = new Date();//获取当前日期details += "\n 收益入账\t" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "3":System.out.println(" 消费金额:");money = scanner.nextDouble();//money 的值范围应该校验 --》???System.out.println("消费说明:");note = scanner.next();balance -= money;//拼接消费信息到 detailsdate = new Date();//获取当前日期details += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "4":System.out.println("4退 出");loop = false;break;default:System.out.println("选择有误,请重新选择");}}while (loop);System.out.println("-----推出了零钱通项目-----");
}
}
---------------------------------------------------------------------------------------------------------------------------------
退出确认
package Smallchange;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class SmallChangeSys {/*化繁为简* 1.先完成显示显示菜单,并给出对应提示* 2.完成零钱通明细* 3.收益入账* 4.消费* 5.退出* 6.用户输入4退出时,给出提示"你确定要退出吗? y/n",必须输入正确的y/n ,否则循环输入指令,直到输入y或n* */
public static void main(String[] args) {//定义相关的变量boolean loop = true;Scanner scanner = new Scanner(System.in);String key = " ";//2.完成零钱通明细//(1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以使用String拼接String details = "--------------------零钱通明细--------------------";//3.完成收益入账 完成功能驱动程序员添加新的变化和代码//定义新变量double money = 0;double balance = 0;Date date = null;//date是 java。util.date 类型,表示日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于格式化的//4.消费//定义新变量,保存消费的原因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.print("请选择(1-4):");key = scanner.next();//使用switch 分支控制switch (key){case "1":System.out.println(details);break;case "2":System.out.print("收益入账金额:");money = scanner.nextDouble(); //money的值应该校验balance += money;//拼接收益入账信息到 detailsdate = new Date();//获取当前日期details += "\n 收益入账\t" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "3":System.out.println(" 消费金额:");money = scanner.nextDouble();//money 的值范围应该校验 --》???System.out.println("消费说明:");note = scanner.next();balance -= money;//拼接消费信息到 detailsdate = new Date();//获取当前日期details += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "4":System.out.println("4退 出");//用户输入4退出时,给出提示"你确定要退出吗? y/n",// 必须输入正确的y/n ,否则循环输入指令,直到输入y或n//(1)定义一个变量 choice ,接受用户的输入//(2)使用 while + break,来处理接收到的输入时 y 或 n//(3)退出while后,再判断choice是y还是n,就可以决定是否退出//(4)建议一段代码,完成一个小功能,尽量不要混在一起String chioce = " ";while (true){//要求用户必须输入y/n 否则就一直循环输入System.out.println("你确定要退出吗? y/n");chioce = scanner.next();if ("y".equals(chioce) || "n".equals(chioce)){break;}}//当用户退出while ,进行判断if (chioce.equals("y")){loop = false;}break;default:System.out.println("选择有误,请重新选择");}}while (loop);System.out.println("-----推出了零钱通项目-----");
}
}

package Smallchange;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class SmallChangeSys {/*化繁为简* 1.先完成显示显示菜单,并给出对应提示* 2.完成零钱通明细* 3.收益入账* 4.消费* 5.退出* 6.用户输入4退出时,给出提示"你确定要退出吗? y/n",必须输入正确的y/n ,否则循环输入指令,直到输入y或n* */
public static void main(String[] args) {//定义相关的变量boolean loop = true;Scanner scanner = new Scanner(System.in);String key = " ";//2.完成零钱通明细//(1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以使用String拼接String details = "--------------------零钱通明细--------------------";//3.完成收益入账 完成功能驱动程序员添加新的变化和代码//定义新变量double money = 0;double balance = 0;Date date = null;//date是 java。util.date 类型,表示日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于格式化的//4.消费//定义新变量,保存消费的原因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.print("请选择(1-4):");key = scanner.next();//使用switch 分支控制switch (key){case "1":System.out.println(details);break;case "2":System.out.print("收益入账金额:");money = scanner.nextDouble(); //money的值应该校验//找出不正确的金额条件然后给出提示,就直接breakif (money <= 0){System.out.println("收益入账金额 需要 大于 0");break;}//找出正确金额的条件if (money > 0){balance += money;//拼接收益入账信息到 detailsdate = new Date();details += "\n 收益入账\t" + money + "\t" + sdf.format(date) + "\t" + balance;}balance += money;//拼接收益入账信息到 detailsdate = new Date();//获取当前日期details += "\n 收益入账\t" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "3":System.out.println(" 消费金额:");money = scanner.nextDouble();//money 的值范围应该校验 --》???//找出金额不正确的情况if (money <= 0 || money > balance){System.out.println("你的消费金额 应该在 0-" + balance);break;}System.out.println("消费说明:");note = scanner.next();balance -= money;//拼接消费信息到 detailsdate = new Date();//获取当前日期details += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + balance;break;case "4":System.out.println("4退 出");//用户输入4退出时,给出提示"你确定要退出吗? y/n",// 必须输入正确的y/n ,否则循环输入指令,直到输入y或n//(1)定义一个变量 choice ,接受用户的输入//(2)使用 while + break,来处理接收到的输入时 y 或 n//(3)退出while后,再判断choice是y还是n,就可以决定是否退出//(4)建议一段代码,完成一个小功能,尽量不要混在一起String chioce = " ";while (true){//要求用户必须输入y/n 否则就一直循环输入System.out.println("你确定要退出吗? y/n");chioce = scanner.next();if ("y".equals(chioce) || "n".equals(chioce)){break;}}//当用户退出while ,进行判断if (chioce.equals("y")){loop = false;}break;default:System.out.println("选择有误,请重新选择");}}while (loop);System.out.println("-----推出了零钱通项目-----");
}
}
