Java语言学习日志2#

今天把记账本搞定了,靠强大的ai写的。

学到了:

1.异常抛出。先写一个异常类,需要获取异常输入,并且返回异常值,然后继续运行程序

class IllegalInputException extends Exception {
    private int input;
    public IllegalInputException(int input){
        this.input=input;//存储异常
    }
    public int getInput(){
        return this.input;//返回异常
    }
}

如何应用呢?不太清楚,总之需要一个try{}catch{},来捕获不正常的输入

try {
                getUserInput();
            } catch (IllegalInputException e) {
                System.out.println("输入为"+e.getInput()+"不合法,请重新输入");
            }

创建对象后引用方法,输出异常。

private void getUserInput()throws IllegalInputException{
        int choice =input.nextInt();//获取用户输入
        // 根据输入选择功能
         switch(choice) {
             case 1:
                 showDetailInfo();
                 break;
             case 2:
                 editIncomeInfo();
                 break;
             case 3:
                 editSpendInfo();
                 break;
             case 4:
                 exitAccount();
                 break;
             default: {
                //默认:即输入异常,则抛出IllegalInputException异常
                 throw new IllegalInputException(choice);
             }
         }
    }

由此实现异常抛出。


2.另外,Record类中的构造方法,利用到了之前网课中的内容

import java.util.Date;
    public class Record {
        private String recordType;    //记录的类型,支出、收入
        private double curBalance;        //增加该记录后,当前的余额
        private double amountOfMoney; //该记录的金额(支出或收入的单笔金额)
        private String remark; //该记录的备注信息
        private Date date;//该记录的登记时间

        // 完成对上还变量的set/get的数,以设置变量的值,读取变量的值
        //例如:setType getType
        public Record(String recordType, double curBalance, double amountOfMoney, String remark, Date date) {
            this.recordType = recordType;
            this.curBalance = curBalance;
            this.amountOfMoney = amountOfMoney;
            this.remark = remark;
            this.date = date;
        }
        public void setType(String type) {
            this.recordType = type;
        }

        public String getType() {
            return this.recordType;
        }
        public void setCurBalance(double curBalance) {
            this.curBalance = curBalance;
        }

        public double getCurBalance() {
            return this.curBalance;
        }

        // amountOfMoney的set/get方法
        public void setAmountOfMoney(double amountOfMoney) {
            this.amountOfMoney = amountOfMoney;
        }

        public double getAmountOfMoney() {
            return this.amountOfMoney;
        }

        // remark的set/get方法
        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getRemark() {
            return this.remark;
        }

        // date的set/get方法
        public void setDate(Date date) {
            this.date = date;
        }

        public Date getDate() {
            return this.date;
        }
    }

每个私有变量都有对应的setter和getter方法,用来设置变量的值,读取变量的值。


以上就是今天记账本的主要内容。

网课的话开始看字符串和集合,两个都是容器类工具,很多内容有重合;例如操作上大致分为“增,删,改,查”,主要区别在集合长度可变,构造格式也不太一样。

今天Java学的很少,要重点复习C语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值