package cn.cyxd.gjp.view;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
import cn.cyxd.gjp.controller.UsersController;
import cn.cyxd.gjp.controller.ZhangWuController;
import cn.cyxd.gjp.domain.Users;
import cn.cyxd.gjp.domain.ZhangWu;
/*
* 视图层:用户看到和操作的界面
* 数据传递给controller层实现
* 成员位置,创建controller对象
*/
public class MainView {
private ZhangWuController zwcontroller = new ZhangWuController();
private UsersController ucontroller = new UsersController();
/*
* 实现界面效果
* 接收用户的输入
* 根据输入调用不同的功能
*/
public void run(){
try{
//创建Scanner类对象,反复键盘输入
Scanner sc = new Scanner(System.in);
while(true){
if(enterGJP()){
System.out.println("==============================================管家婆家庭记账软件==============================================");
System.out.println("1.添加账务 2.编辑账务 3.删除账务 4.查询账务 5.进入管理员管理系统 6.退出系统");
System.out.println("请输入要操作的功能序号[1~5]: ");
//接收用户的菜单选择
int choose = sc.nextInt();
//对选择的菜单判断,调用不同的功能
switch(choose){
case 1 :
//选择添加账务,调用添加账务的方法
addZhangWu();
break;
case 2 :
//选择编辑账务,调用编辑账务的方法
editZhangWu();
break;
case 3 :
//选择删除账务,调用删除账务的方法
deleteZhangWu();
break;
case 4 :
//选择查询账务,调用查询账务的方法
selectZhangWu();
break;
case 5:
//进入管理员管理系统
new MainView_Uers().run();
break;
case 6 :
System.exit(0);
}
}else{
System.out.println("该管理员不存在");
}
}
}catch(InputMismatchException ex){
System.out.println("请输入正确的功能号");
run();
}
}
private boolean enterGJP() {
System.out.println("请输入用户名和密码");
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String uname = sc.next();
System.out.println("请输入密码:");
String upassword = sc.next();
List<Users> list = ucontroller.select(uname, upassword);
return list.size() == 0 ? false : true;
}
/*
* 定义方法:删除账务方法
* 实现思想:
* 接收用户的输入,输入一个主键数据
* 调用控制层方法,传递主键数据
*/
public void deleteZhangWu(){
//调用查询所有账务数据的功能,显示出来
selectAll();
System.out.println("选择的是删除功能,输入删除的行号:");
int zwid = new Scanner(System.in).nextInt();
//调用控制层方法,传递主键ID
zwcontroller.deleteZhangWu(zwid);
}
/*
* 定义方法:编辑账务方法
* 实现思想:
* 接收用户的输入
* 数据的信息封装成ZhangWu对象
* 调用控制层的方法,传递ZhangWu对象,实现编辑
*/
public void editZhangWu(){
try{
//调用查询所有账务数据的功能,显示出来
selectAll();
System.out.println("选择的是编辑账务功能,请输入以下内容:");
Scanner sc = new Scanner(System.in);
System.out.println("请输入ID:");
int zwid = sc.nextInt();
System.out.println("请输入分类名称");
String flname = sc.next();
System.out.println("请输入金额");
double money = sc.nextDouble();
System.out.println("请输入账户");
String zhanghu = sc.next();
System.out.println("请输入日期:格式为XXXX-XX-XX");
String createtime = sc.next();
System.out.println("请输入描述");
String description = sc.next();
//将用户输入的所有参数,封装成ZhangWu对象
ZhangWu zw = new ZhangWu(zwid, flname, money, zhanghu, createtime, description);
//将接收到的数据,调用controller层方法,传递参数
zwcontroller.editZhangWu(zw);
System.out.println("编辑成功");
}catch (InputMismatchException e) {
System.out.println("请输入正确的格式");
editZhangWu();
}
}
/*
* 定义方法:添加账务方法
* 添加账务的方法,用户在界面中选择菜单1的时候调用
* 实现思想:
*/
public void addZhangWu(){
try{
System.out.println("选择的添加账务功能,请输入以下内容:");
Scanner sc = new Scanner(System.in);
System.out.println("请输入分类名称");
String flname = sc.next();
System.out.println("请输入金额");
double money = sc.nextDouble();
System.out.println("请输入账户");
String zhanghu = sc.next();
System.out.println("请输入日期:格式为XXXX-XX-XX");
String createtime = sc.next();
System.out.println("请输入描述");
String description = sc.next();
//将接收到的数据,调用controller层方法,传递参数
//将用户输入的所有参数,封装成ZhangWu对象
ZhangWu zw = new ZhangWu(0, flname, money, zhanghu, createtime, description);
zwcontroller.addZhangWu(zw);
System.out.println("添加账务成功");
}catch (InputMismatchException e) {
System.out.println("请输入正确的格式");
addZhangWu();
}
}
/*
* 定义方法:selectZhangWu()
* 显示查询的方式 : 1.所有查询 2.条件查询
*
*/
public void selectZhangWu() {
System.out.println("1.查询所有 2.条件查询");
Scanner sc = new Scanner(System.in);
int selectChooser = sc.nextInt();
//根据用户的选择,调用不同的功能
switch (selectChooser) {
case 1 :
//查询所有账务,调用查询所有的方法
selectAll();
break;
case 2 :
//条件查询,调用带有查询条件的方法
select();
break;
}
}
/*
* 定义方法:实现查询所有的账务数据
*/
public void selectAll(){
//调用控制层中的方法,查询所有的账务数据
List<ZhangWu> list = zwcontroller.selectAll();
if(list.size() != 0){
print(list);
}else{
System.out.println("没有查询到数据");
}
}
/*
* 定义方法:实现条件查询账务数据
* 提供用户的输入信息:开始日期,结束日期
* 将2个日期传递到controller层
* 调用controller的方法传递2个日期参数
* 获取
*/
public void select(){
System.out.println("你选择条件查询,请输入日期格式为xxxx-xx-xx");
Scanner sc = new Scanner(System.in);
System.out.println("请输入开始日期:");
String startDate = sc.nextLine();
System.out.println("请输入结束日期");
String endDate = sc.nextLine();
//调用controller层的方法
List<ZhangWu> list = zwcontroller.select(startDate, endDate);
if(list.size() != 0){
print(list);
}else{
System.out.println("没有查询到数据");
}
}
/*
* 定义方法:输出账务数据方法,接收List集合,遍历集合,输出表格
*/
public void print(List<ZhangWu> list){
//输出表头
System.out.println("ID\t类别\t\t账户\t\t金额\t\t时间\t\t说明");
//遍历集合输出结果
for(ZhangWu zw : list){
System.out.println(zw.getZwid()+"\t"+zw.getFlname()+"\t\t"+zw.getZhanghu()+"\t\t" +
zw.getMoney()+"\t\t"+zw.getCreatetime()+"\t"+zw.getDescription());
}
}}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
gjp.zip (32个子文件)
gjp
.project 379B
src
cn
cyxd
gjp
service
UsersService.java 1KB
ZhangWuService.java 1KB
view
MainView.java 7KB
MainView_Uers.java 4KB
domain
Users.java 834B
ZhangWu.java 2KB
controller
UsersController.java 1KB
ZhangWuController.java 1KB
dao
ZhangWuDao.java 3KB
UsersDao.java 3KB
tools
JDBCUtils.java 2KB
app
MainApp.java 208B
database.properties 100B
lib
commons-pool-1.5.6.jar 98KB
commons-dbutils-1.6.jar 76KB
commons-dbcp-1.4.jar 157KB
mysql-connector-java-5.1.37-bin.jar 963KB
.classpath 504B
bin
cn
cyxd
gjp
service
ZhangWuService.class 1KB
UsersService.class 1KB
view
MainView.class 6KB
MainView_Uers.class 4KB
domain
Users.class 1KB
ZhangWu.class 2KB
controller
ZhangWuController.class 1KB
UsersController.class 1KB
dao
UsersDao.class 3KB
ZhangWuDao.class 3KB
tools
JDBCUtils.class 2KB
app
MainApp.class 462B
database.properties 100B
共 32 条
- 1
渐醒的思考者
- 粉丝: 66
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2