手动创建两个用户
//用户的账号密码
private static String account ="1";//账号
private static String password ="1";//密码
private static double balance =10000;//余额
private static String username="张三";//姓名
//被转账人的账号密码
private static String account1 ="1";//账号
private static String password1 ="1";//密码
private static double balance1 =10000.0;//余额
private static String username1="李四";//姓名
private static boolean type=true;//循环
登录界面
public static void main(String[] args) {
System.out.println("*************************");
System.out.println("******欢迎您使用ATM机******");
System.out.println("*************************");
while(type) {
//显示登录
login();
//操作主菜单/
optionMenu();
}
}
判断登录的用户密码是否相等,密码输错三次结束程序
public static void login(){
String card;
String inPassword;
int j=0;
//判断获取的密码是否相等
for (int i = j; i < 3; i++) {
//输出语句
System.out.println("请输入卡号");
//控制台
Scanner Scanner=new Scanner(System.in);
//获取卡号
card =Scanner.next();
//输出语句
System.out.println("请输入密码");
//获取密码
inPassword = Scanner.next();
//判断密码错误大于3次退出程序
if(password.equals(inPassword) && account.equals(card)){
showMenu();
}else{
System.out.println("账号密码错误");
j++;
System.out.println("还有"+(3-j)+"次输入机会");
}
}
if(j>=3){
System.out.println("账号被冻结");
System.exit(0);
}
}
编写一个主界面和取款界面
public static void showMenu() {
// 4、显示主菜单。
System.out.println("***********************************");
System.out.println("*******请输入你想要操作类型*************");
System.out.println("******1.余额查询 2.取款*******");
System.out.println("******3.存款 4.转账*******");
System.out.println("******5.打印 6.退卡*******");
System.out.println("***********************************");
}
// 显示取款快捷菜单
public static void getMoneyMenu() {
System.out.println("***********************************");
System.out.println("*******请输入你想要操作类型*******");
System.out.println("******1.100 2.200*******");
System.out.println("******3.500 4.1000*******");
System.out.println("******5.2000 6.5000*******");
System.out.println("***********************************");
}
public static void optionMenu() {
//获取控制台对象
Scanner sc=new Scanner(System.in);
//获取选择操作类型
String str=sc.next();
switch (str){
case "1" :
//显示金额
showMoney();
//显示主界面
showMenu();
optionMenu();
break;
case "2" :
//取款界面
getMoneyMenu();
//调用取款方法
getMoeny();
//显示主界面
showMenu();
optionMenu();
break;
case "3" :
//主界面
saveMoney();
//存款方法
showMenu();
optionMenu();
break;
case "4" :
//转账方法
tranMoney();
//主界面
showMenu();
optionMenu();
break;
case "5" :
//打印方法
print();
//主界面
showMenu();
optionMenu();
break;
case "6" :
//退出程序
System.exit(0);
break;
default:
break;
}
}
打印金额
public static void showMoney(){
System.out.println("您当前金额:"+balance);
}
存款
public static void saveMoney(){
//控制台
Scanner Scanner=new Scanner(System.in);
System.out.println("请输入你所要存款的金额。");
//获取控制台的数据
double str=Scanner.nextDouble();
balance += str;
//显示余额
showMoney();
}
取款
public static void getMoeny(){
//控制台
Scanner scanner=new Scanner(System.in);
String chose=scanner.next();
switch (chose){
case "1":
balance -=100;
//显示当前余额
showMoney();
break;
case "2":
balance -=200;
//显示当前余额
showMoney();
break;
case "3":
balance -=500;
//显示当前余额
showMoney();
break;
case "4":
balance -=1000;
//显示当前余额
showMoney();
break;
case "5":
balance -=2000;
//显示当前余额
showMoney();
break;
case "6":
balance -=5000;
//显示当前余额
showMoney();
break;
default:
break;
}
}
转账
public static void tranMoney(){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入要转向的账号");
String next = scanner.next();
//判断转账的账号是否存在
if(next.equals(account1)){
System.out.println("请输入转账金额");
double str=scanner.nextDouble();
//判断要转账金额是否大于总资金
if(balance >= str){
double d=balance -= str;
balance1+=str;
System.out.println("转账成功");
System.out.println("你的余额现在为:"+d);
}else{
System.out.println("余额不足");
tranMoney();
}
}else{
System.out.println("账号不存在,请重新输入");
tranMoney();
}
}
打印
public static void print(){
//首先定义一个路径
String string="D:\\yj.txt";
//显示打印文件的路径。
System.out.println(string);
String str="账号:"+account+" 当前余额:"+balance +" 姓名:"+ username;
//创建一个文件对象
File file=new File(string);
//判断文件是否存在,不存在创建
if(file.exists()){
file.delete();
}else{
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//把数据写入进去
FileWriter fw=null;
try {
fw=new FileWriter(file);
fw.write(str);
fw.flush();
} catch (IOException e) {
e.printStackTrace();
try {
fw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}