今天把记账本搞定了,靠强大的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语言。