2024年拓薪java基础

拓薪java基础今日完成简易零钱通 以及课后习题一 对对象数组的冒泡排序 面向过程版本 import java text SimpleDateFo import java util Date import java util Scanner public class SmallChangeS public static void main String

大家好,我是讯享网,很高兴认识大家。



今日完成简易零钱通

以及课后习题一:对对象数组的冒泡排序

面向过程版本

import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; ​ public class SmallChangeSys { ​    public static void main(String[] args) {        //定义相关变量        boolean loop = true;        String key = "";        Scanner sc = new Scanner(System.in);        //1.完成零钱通明细 使用String拼接        String details = "------零钱通明细------"; ​        //2.完成收益入账        // 定义新的变量        double money = 0;        double balance = 0;        //date 是 java.util.Dte类型 表示日期        Date date = null;        //可以用于日期格式化        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); ​        //3.完成消费        // 定义新的变量        String note = ""; ​        //4.完成退出        String choice = "";        do{            System.out.println("--------零钱通菜单--------");            System.out.println(" 1 零钱通明细");            System.out.println(" 2 收益入账");            System.out.println(" 3 消费");            System.out.println(" 4 退出");            System.out.println("请选择(1-4):");            key = sc.next(); ​            switch (key){                case "1"://零钱通明细                    System.out.println(details);                    break;                case "2"://收益入账                    System.out.println("收益入账金额:");                    money = sc.nextDouble(); ​                    //money 的值范围应该校验                    //找出不正确的金额条件 ,然后给出提示 ,就直接break                    if(money <= 0){                        System.out.println("收益入账金额 需要 大于0");                        break;                   } ​                    balance += money;                    //拼接收益入账信息到details                    date = new Date();//获取当前日期                    details += " 收益入账 " + "+" + money + " " + sdf.format(date) + " " + balance;                    break;                case "3"://消费                    System.out.println("消费金额为:"); ​                    money = sc.nextDouble();                    //money 的值范围应该校验                    if(money <= 0 || money > balance){                        System.out.println("你的消费金额应该在 0-"+ balance);                        break;                   }                    System.out.println("消费说明:");                    note = sc.next();                    balance -= money;                    details += " "+note + " -" + money + " " + sdf.format(date) + " " + balance; ​                    break;                case "4"://退出                    //要求用户必须输入y/n ,否则就一直循环                    while(true){                        System.out.println("你确定要退出吗? y/n");                        choice = sc.next();                        if("y".equals(choice) || "n".equals(choice)){                            break;                       }                   }                    //当用户退出while ,进行判断                    if("y".equals(choice)){                        loop = false;                   }                    break;                default:                    System.out.println("选择有误,请重新选择");           }       }while(loop); ​        System.out.println("------退出零钱通项目------4");        sc.close();   } }
讯享网

面向对象版

讯享网import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; / * 该类是完成零钱通的各个功能的类 * 将各个功能对应一个方法 */ public class SmallChangeSysOOP {    //定义相关变量    boolean loop = true;    String key = "";    Scanner sc = new Scanner(System.in);    //1.完成零钱通明细 使用String拼接    String details = "------零钱通明细------"; ​    //2.完成收益入账    // 定义新的变量    double money = 0;    double balance = 0;    //date 是 java.util.Dte类型 表示日期    Date date = null;    //可以用于日期格式化    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); ​    //3.完成消费    // 定义新的变量    String note = ""; ​    //4.完成退出    String choice = ""; ​    //显示零钱通菜单    public void mainMenu(){        do{            System.out.println("--------选择零钱通菜单--------");            System.out.println(" 1 零钱通明细");            System.out.println(" 2 收益入账");            System.out.println(" 3 消费");            System.out.println(" 4 退出");            System.out.println("请选择(1-4):");            key = sc.next(); ​            switch (key){                case "1"://零钱通明细                    this.detail();                    break;                case "2"://收益入账 拓薪java基础                    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.println("收益入账金额:");        money = sc.nextDouble(); ​        //money 的值范围应该校验        //找出不正确的金额条件 ,然后给出提示 ,就直接break        if(money <= 0){            System.out.println("收益入账金额 需要 大于0");            return;       } ​        balance += money;        //拼接收益入账信息到details        date = new Date();//获取当前日期        details += " 收益入账 " + "+" + money + " " + sdf.format(date) + " " + balance;   } ​    //消费    public void pay(){        System.out.println("消费金额为:"); ​        money = sc.nextDouble();        //money 的值范围应该校验        if(money <= 0 || money > balance){            System.out.println("你的消费金额应该在 0-"+ balance);            return;       }        System.out.println("消费说明:");        note = sc.next();        balance -= money;        details += " "+note + " -" + money + " " + sdf.format(date) + " " + balance;   } ​    //退出    public void exit(){        //要求用户必须输入y/n ,否则就一直循环        while(true){            System.out.println("你确定要退出吗? y/n");            choice = sc.next();            if("y".equals(choice) || "n".equals(choice)){                break;           }       }        //当用户退出while ,进行判断        if("y".equals(choice)){            loop = false;       }   } ​ } ​ ​ ​ //调用SmallChangeSysOOP 对象显示主菜单 public class SmallChangeSysAPP {    public static void main(String[] args) {        new SmallChangeSysOOP().mainMenu();   } }

课后习题1

定义一个person类{name,age,job},初始化Person对象数组,有3个person对象 并按照age从大到小进行排序,使用冒泡排序

小讯
上一篇 2025-01-02 07:31
下一篇 2024-12-23 17:00

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3915.html