java基础写简易ATM

java写简易ATM

本文需求:用java写一个简易ATM,
功能:有登陆,有查询资金功能,有存款功能,有取款功能,有转账功能,有退出;

技术需求:会java一维数组及流程判断
代码如下:

 package com.smallzz.atm;

import java.util.Scanner;

public class Atm {

	public static void main(String[] args) {

		Scanner scanner = new  Scanner(System.in);
		String[] cardNum= {"123","456","111"};
		String[] pwdNum= {"112","223","343"};
		String[] user= {"小张","小李","小小"};
		double[] money= {18999.0,4990.0,20000.0};
		/**
		 * 注:time为密码输入次数,indexO用于判断账号是否存在若为20则为不存在,
		 * indexO2用于判断转账卡号是否存在若为20则为不存在,
		 * out为是否结束循环功能菜单,当out为20时则循环,其他为退出
		 * 
		 * */
	
		int time=3;
		int indexO=20;
		int indexO2=20;
		int out=20;
		do {
			System.out.println("请输入您的卡号");
			String card = scanner.nextLine(); 
			/**账号是否存在*/
			for(int i=0;i<cardNum.length;i++) {				
				if(card.equals(cardNum[i])) {
					indexO=i;					
					break;
				}
			}
			/**账号存在*/
			if(indexO!=20) {
				System.out.println("欢饮您:"+user[indexO]);
					System.out.println("请输入您的密码:");
					String pwd = scanner.nextLine(); 
					if(pwd.equals(pwdNum[indexO])) {
						System.out.println("登录成功!!");
						/**循环功能菜单*/
						 while (out==20) {
							 System.out.println("请选择服务项目:1.查询,2.存款,3.取款,4.转账,5.退出");
								int num=scanner.nextInt();	
								switch (num) {
								case 1:	System.out.println(money[indexO]);							
									break;
								case 2:System.out.println("请输入您的存款金额:");
										int saveMoney=scanner.nextInt();
										money[indexO]+=saveMoney;
										System.out.println("存款成功!!");
										System.out.println("您的余额为:"+money[indexO]);
										break;
								case 3:System.out.println("请输入您的取款金额:");
										int getMoney=scanner.nextInt();
										if(getMoney>money[indexO]) {
											System.out.println("当前余额不足!!");
										}else {
											money[indexO]-=getMoney;										
										System.out.println("取款成功!!");
										System.out.println("您的余额为:"+money[indexO]);
										}										
										break;
								case 4:System.out.println("请输入转账卡号:");
										String qq = scanner.nextLine(); 
										String zhuanCard=scanner.nextLine();
										/**账号是否存在*/
										for(int j=0;j<cardNum.length;j++) {				
											if(zhuanCard.equals(cardNum[j])) {
												indexO2=j;					
												break;
											}
										}
										/**存在*/
										if(indexO2!=20) {
											System.out.println("请输入您的转账金额:");
											int zhuanMoney=scanner.nextInt();
											if(zhuanMoney>money[indexO]) {
												System.out.println("余额不足!!");
											}else {
												money[indexO]-=zhuanMoney;
												money[indexO2]+=zhuanMoney;
												System.out.println("成功向:"+user[indexO2]+"转账:"+zhuanMoney);
												System.out.println("您的余额为:"+money[indexO]);
											}
										}else {
											System.out.println("此账号不存在!!");
										}
										break;
								case 5:out=5;
										System.out.println("退出成功!!");
										break;
							}
						 }
						time=0;
					}else {
						time--;
						System.out.println("密码输入有误,请重新输入:");
						System.out.println("您剩余:"+time+"次机会");
					}
			}
		} while (time>0);
	}
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acqui~Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值