package com.basic.study.realization.smallchange;
import java.util.Scanner;
//功能类
public class Function {
private Scanner scanner = new Scanner(System.in);
private int row = 0;//数组行
private int col = 0;//数组列
dataManage dataManage = new dataManage();
public void smallChangeShow() {
int i = 0, j = 0;
if ((dataManage.getArrayChange()[i][j] == null)) {//判断数组第一行第一列是否为空
System.out.println("没有任何收入或者支出信息");
} else {
System.out.println("================零钱通明细================");
while (!(dataManage.getArrayChange()[i][j] == null)) {
System.out.println(dataManage.getArrayChange()[i][j] + "\t" + dataManage.getArrayChange()[i][j + 1]
+ "\t时间\t" + dataManage.getArrayChange()[i][j + 2] + "\t\t" + dataManage.getArrayChange()[i][j + 3]);
i++;
}
}
}
public void revenue() {
dataManage.getArrayChange()[row][col] = "收益入账";//第一列存入类型
System.out.println("请输入您的收益入账情况:");
double balance = numJudgement();
dataManage.getArrayChange()[row][col + 1] = "+" + balance;////第二列存入余额变化
dataManage.setBalance(balance);
dataManage.getArrayChange()[row][col + 2] = dataManage.getDate();//存入时间
dataManage.getArrayChange()[row][col + 3] = "余额\t" + dataManage.getBalance();//存入余额情况
System.out.println("收益入账\t" + dataManage.getArrayChange()[row][col + 1] + "\t时间\t" + dataManage.getArrayChange()[row][col + 2]);
row++;//存完第一行,变化到下一行
scanner.nextLine();//释放换行符,否则出现异常
}
public void consume() {
while (true) {
System.out.println("请输入你的消费类型:(10个字以内)");
String consume = scanner.nextLine();
if (consume.length() < 10) {
dataManage.getArrayChange()[row][col] = consume;
} else {
System.out.println("输入错误");
continue;
}
break;
}
System.out.println("请输入您的消费金额:");
double consumeNum = numJudgement();//判断数字
scanner.nextLine();
if (dataManage.getBalance() < consumeNum) {
System.out.println("余额不足,消费失败");
dataManage.getArrayChange()[row][col] = null;
return;
}
dataManage.getArrayChange()[row][col + 1] = "-" + consumeNum;
dataManage.setBalance(-consumeNum);
dataManage.getArrayChange()[row][col + 2] = dataManage.getDate();
dataManage.getArrayChange()[row][col + 3] = "余额\t" + dataManage.getBalance();
System.out.println(dataManage.getArrayChange()[row][col] + "\t" +
dataManage.getArrayChange()[row][col + 1] + "\t时间\t" + dataManage.getArrayChange()[row][col + 2]);
row++;
}
public int exit() {
while (true) {
System.out.println("你确定要退出吗 y or n");
String answer = scanner.next();
if (answer.equals("yes") || answer.equals("y")) {
return 4;
} else {
System.out.println("输入错误,返回零钱通界面");
return -1;
}
}
}
public double numJudgement() {//用以判断输入是否有误
double revenueNum;
while (true) {
if (scanner.hasNextDouble()) {
double revenue = scanner.nextDouble();
if (revenue > 0 && revenue < 100000) {
revenueNum = revenue;
break;
} else {
System.out.println("输入数字有误,应该 > 0,请重新输入!");
scanner.nextLine();
}
} else {
System.out.println("请输入数字!");
scanner.nextLine();
}
}
return revenueNum;
}
}
Java零钱通项目OOP的实现
需积分: 0 21 浏览量
2024-03-15
20:45:46
上传
评论
收藏 3KB ZIP 举报
想做大学士
- 粉丝: 42
- 资源: 4
最新资源
- 海信智能电视刷机数据 LED42K330X3D(0000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- shujudaochuceshi
- learn-ruby.zip
- test111111111111111111
- face-detect.ipynb
- 以下是一些关于ACM(国际大学生程序设计竞赛)、NOI(全国青少年信息学奥林匹克竞赛)以及CSP(全国青少年信息学奥林匹克竞赛提
- 是一些电子设计竞赛(电赛)经验分享,包括备赛策略、项目管理、团队合作和比赛期间的注意事项
- 全能运行库修复工具DirectX Repair v4.1.0.30770
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈