采用OOP方式,利用数组和字符拼接两种方式实现
除去基本功能的实现,还添加了输入验证,金额验证等功能
部分代码示例如下,代码有相应的注释
public void consume() {
boolean incomeLoop = true;
int count = 1;
do {
System.out.println("请输入消费金额:");
if (scanner.hasNextDouble()) {//判断输入是否为double
double temp = scanner.nextDouble();
if (temp < 0) {
System.out.println("输入金额有误!应该>0");
} else if (temp > balance) {
System.out.println("余额不足,消费失败!");
return;
} else {
scanner.nextLine();//清空缓存区,不然会无限循环
money = temp;
System.out.println("请输入你的消费类型:(长度应在10个字以内)");
String income = scanner.nextLine();
if (income.length() > 10) {//限制消费类型字数
System.out.println("输入错误,返回零钱通界面");
return;
}
balance -= money;
incomeLoop = false;
date = new Date();
details += "\n" + income + "\t\t-" + money + "\t\t时间\t\t" + sdf.format(date) + "\t\t余额\t\t" + balance;//拼接信息
}
} else {//错误次数设置
if (count == 3) {
System.out.println("输入错误次数已达三次,将返回零钱通界面!");
incomeLoop = false;
}
count++;
System.out.println("请输入数字!");
}
} while (incomeLoop);
}
输入验证
更多代码请下载我上传的资源,仅供参考
https://download.csdn.net/download/m0_55877598/88971595?spm=1001.2014.3001.5503另一个代码