//測驗類
package ATM;
import java.util.Scanner;
public class ATMtest {
static Scanner sc=new Scanner(System.in);
public static void main(String[] args)
{
System.out.println("歡迎使用XXX銀行ATM取款機");
System.out.println("即將進入界面...");
Method.jieMian();
Method.menu();
}
}
//方法類
package ATM;
import java.util.Scanner;
public class Method {
static Scanner sc=new Scanner(System.in);
static String[] name=new String[10];
static String[] id=new String[10];
static String[] pwd=new String[10];
static int count=0;
static int k=0;
static int l=0;
static int p=1;
public static String number,pwdd,sex;
public static float money=0;
public static void jieMian()
{
System.out.println("--------------------");
System.out.println("------1.注冊------");
System.out.println("------2.登錄------");
System.out.println("-----3.退出系統-----");
}
//選單
public static void menu()
{
System.out.println("請輸入操作序號1/2/3:");
int i=sc.nextInt();
switch(i)
{
case 1:
//注冊
zhuCe();
break;
case 2:
dengLu();
//登錄
break;
case 3:
exit();
//退出
break;
default:
System.out.println("輸入錯誤,請重新選擇!");
menu();
}
}
public static void menu_gongNeng()
{
System.out.println(" **************** ");
System.out.println(" 1.存款");
System.out.println(" 2.取款");
System.out.println(" 3.查看余額");
System.out.println(" 4.查看個人資訊");
System.out.println(" 5.修改密碼");
System.out.println(" 6.注銷登錄");
System.out.println(" 7.退出系統");
System.out.println(" **************** ");
System.out.println("請選擇選單:");
int a;
a=sc.nextInt();
menu_choose(a);
}
public static void allUsers()
{
int i=1;
String y="";
int j=0;
for(String x:name)
{
if(x==null) break;
System.out.println("這是第"+i+"位用戶:");
System.out.print("用戶名:");
System.out.print(x);
for(j=i-1;j<count;j++)
{
y=id[j];
do {
if(y==null)break;
System.out.print(" 賬號:");
System.out.println(y);
y=null;
}while(true);
i++;
break;
}
}
}
public static void menu_choose(int i)
{
switch(i)
{
case 1:
System.out.println("存款,,,");
addMon();
break;
case 2:
System.out.println("取款,,,");
get_mon();
break;
case 3:
System.out.println("查看余額,,,");
System.out.println("當前余額為:"+money);
menu_gongNeng();
break;
case 4:
System.out.println("查看個人資訊,,,");
allUsers();
menu_gongNeng();
break;
case 5:
System.out.println("修改密碼,,,");
alter();
menu_gongNeng();
break;
case 6:
System.out.println("注銷登錄,,,");
zhuXiao();
zhuCe();
menu_gongNeng();
break;
case 7:
System.out.println("退出系統,,,");
exit();
break;
}
}
public static void zhuXiao()
{
count--;
System.out.println("已注銷!請重新注冊!");
}
public static void alter()
{
System.out.println("請輸入用戶名進行驗證:");
String str=sc.next();//count==0
do {
if(!name[l].equals(str))
{
if((l+1)==count)
{
System.out.println("用戶不存在!請先進行注冊!");
break;
}
else
{
l++;
continue;
}
}
else
{
System.out.println("用戶名驗證成功!請進行下一步");
miMaYan();
yanZheng();
}
}while (true);
zhuCe();
}
public static void miMaYan()
{
do
{
System.out.println("請輸入密碼進行驗證:");
String pwdd=sc.next();
if(pwd[l].equals(pwdd))
{
break;
}
else {
if(p==3)
{
System.out.println("密碼錯誤次數過多!即將退出到登錄界面!");
dengLu();
break;
}
else
{System.out.println("密碼不匹配!請重新輸入:");
p++;
miMaYan();
}
}
}while (true);
}
public static void yanZheng()
{
do {
System.out.println("請輸入原始密碼:");
String num3=sc.next();
if(num3.equalsIgnoreCase(pwd[l]))
{
System.out.println("請輸入新密碼:");
pwd[l]=sc.next();
System.out.println("修改成功!請重新登錄!");
dengLu();
}
else
{
System.out.println("原始密碼輸入錯誤!請重新輸入!");
yanZheng();
}
}while (true);
}
public static void zhuCe()
{
do {
if(count>=10)
{
System.out.println("已超出限制人數,請聯系管理員處理,即將退出系統!");
exit();
}
System.out.println("這是第"+(count+1)+"用戶注冊!");
yongHu();
zhangHao();
System.out.println("請輸入密碼:");
pwd[count]=sc.next();
System.out.println("注冊成功!");
count++;
jieMian();
menu();
}while(true);
}
//賬號輸入
public static void zhangHao()
{
System.out.println("請輸入賬號:");
String y=id[count]=sc.next();
for(int i=0;i<count;i++)
{
if(y.equals(id[i]))
{
System.out.println("賬號已重復,請重新輸入:");
zhangHao();
}
else
{
break;
}
}
}
//用戶輸入用戶名
public static void yongHu()
{
System.out.println("請輸入用戶名:");
String x=name[count]=sc.next();
//判斷用戶名是否合法
for(int i=0;i<count;i++)
{
if(x.equals(name[i]))
{
System.out.println("用戶名已重復,請重新輸入:");
yongHu();
}
else
{
break;
}
}
}
public static void dengLu()
{
int a=0;
do {
System.out.println("請輸入用戶名:");
String name1=sc.next();
//下面這個是錯的,第二名及以后的用戶不可以登錄
/*for(int i=0;i<=count;i++)
{
if(name1.equals(name[i]))
{
k=i;
miMa(k);
jieMian();
menu();
}
else
{
System.out.println("用戶名不存在!請先進行注冊!");
jieMian();
menu();
}
}*/
do {
if(a>count)
{
System.out.println("用戶名不存在!請先注冊!");
jieMian();
menu();
break;
}
if(name1.equals(name[a]))
{
k=a;
miMa(k);
jieMian();
menu();
}
else
{
a++;
}
}while(true);
}while(true);
}
//登錄密碼輸入
public static void miMa(int x)
{
System.out.println("請輸入密碼:");
String pwdd=sc.next();
if(pwdd.equals(pwd[x]))
{
System.out.println("登錄成功!");
menu_gongNeng();
}
else
{
System.out.println("密碼輸入錯誤!請重新輸入:");
miMa(x);
}
}
public static void addMon()
{
do {
System.out.println("請輸入存款金額:");
float mon1=sc.nextFloat();
money+=mon1;
System.out.println("是否繼續存款?N(不存)/Y(存)");
String str=sc.next();
if(str.equalsIgnoreCase("Y"))
continue;
else
{
break;
}
}while(true);
System.out.println("賬戶余額為:"+money);
menu_gongNeng();
}
public static void get_mon()
{
do {
if(money==0)
{
System.out.println("您當前余額為0!請先去掙錢吧!");
menu_gongNeng();
}
System.out.println("請輸入取款金額:");
float mon2=sc.nextFloat();
while (true)
{
if (mon2 > money) {
System.out.println("余額不足!請重新輸入:");
mon2 = sc.nextFloat();
} else {
money -= mon2;
break;
}
}
System.out.println("已取"+mon2+"元!"+" "+"當前剩余余額為:"+money+"元!");
System.out.println("是否繼續取錢?N(不取)/Y(取)");
String str1=sc.next();
if(str1.equalsIgnoreCase("Y"))
continue;
else
break;
}while(true);
menu_gongNeng();
}
public static void exit()
{
System.out.println("已退出系統!");
System.exit(0);
}
}
運行截圖:









源代碼請參考:[https://github.com/LK-330/ATM]
(https://github.com/LK-330/ATM)
想了解前端相關內容,請參考:https://blog.csdn.net/qq_42440991/article/details/113406863
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/254532.html
標籤:java
