前言
作为java初学者,程序里面可能会有一些写的不好的地方,请见谅。作为一个从C++转Java的初学者,还不会使用Java中的文件读写,所以后面的代码中,是将数据存储在一个列表中的,而一般涉及大量数据存储的程序,一般是将数据存储在数据库或者文件中的。好啦,不说了,我们开始吧~
一、定义存储数据的类
定义一个Bills类用来存储记录,记录一条账务,我们需要有:账务类别、金额、使用的账户、收入或支出类型、时间、备注。
直接看代码吧。
public class Bills {
private String name; //类别
private double total; //金额
private String account; //账户
private String type; //类型
private String time; //时间
private String desc; //备注
public Bills() {
}
public Bills(String name, double total, String account, String type, String time, String desc) {
this.name = name;
this.total = total;
this.account = account;
this.type = type;
this.time = time;
this.desc = desc;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getTotal() {
return total;
}
public void setTotal(double total) {
this.total = total;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
二、菜单
记账程序主要有添加账务、删除账务、查询账务、退出系统这几个基本功能。菜单我们直接打印就行了。
public static void showMain()
{
System.out.println("----------------------随手记----------------------");
System.out.println("1.添加账务 2.删除账务 3.查询账务 4.退出系统");
System.out.println("请输入功能序号【1-4】");
}
有了菜单后,我们还需要根据菜单选择对应的功能,然后执行该功能。所以我们需要用户输入自己的选择,然后使用switch-case语句判断。
public static void run()
{
showMain();
boolean flag=true;
//创建扫描器
Scanner scanner=new Scanner(System.in);
while(flag)
{
//获得输入的选项
int op=scanner.nextInt();
switch (op){
case 1:
addBills();
break;
case 2:
delBills();
break;
case 3:
select();
break;
case 4:
flag=false;
break;
default:
System.out.println("请重新输入:");
}
}
System.out.println("退出系统");
}
三、创建集合
在开始对于数据的操作之前,我们还需要创建一个集合来存储数组,而数组中就是我们初始化的账务数据。
static List<Bills> billList=new ArrayList<>();
static {
billList.add(new Bills("吃饭支出",247,"交行","支出","202