java编写的模拟ATM取款机程序

java编写的模拟ATM取款机程序,第1张

我现写的: import java.util.Scannerpublic class ATM {

private static String theName = "admin"

private static String thePassword = "123456"

private static int balance = 10000

public static void getBalance(){

System.out.println("当前余额:" + balance)

}

public static void drawMoney(Scanner sc){

int money = 0

System.out.println("请输入取款金额:")

money = sc.nextInt()

String type = ""

if (balance >0) {

if (balance >= money) {

if (money <= 5000) {

balance = balance - money

type = "请在30秒内提取现金...\n剩余余额:"+balance

} else if (money <= 0) {

type = "金额错误"

} else {

type = "超出最大限制金额"

}

} else {

type = "超出最大余额"

}

} else {

type = "余额不足"

}

System.out.println(type)

}

public static void bankMoney(Scanner sc){

int money = 0

System.out.println("请输入存储金额:")

money = sc.nextInt()

String type = ""

if (money >0) {

balance = balance + money

type = "存储成功,现有余额:" + balance

} else {

type = "存储金额不能为负"

}

System.out.println(type)

}

public static void updatePass(Scanner sc){

String oldPass = ""

String newPass1 = ""

String newPass2 = ""

while(true){

System.out.println("请输入原密码:")

oldPass = sc.next()

if (oldPass.equals(thePassword)) {

break

} else {

System.out.println("密码错误,请重新输入")

}

}

while(true){

System.out.println("请输入新密码")

newPass1 = sc.next()

System.out.println("再次输入")

newPass2 = sc.next()

if (newPass1.equals(newPass2)) {

if (!isSame(newPass1)) {

thePassword = newPass1

System.out.println("修改成功")

break

} else {

System.out.println("所有字符不能相同,重新输入")

}

} else {

System.out.println("两次输入不一致,重新输入")

}

}

}

public static boolean isSame(String string){

boolean bool = false

for (int i = 0i <string.length() - 1i++) {

char char1 = string.charAt(i)

for (int j = i + 1j <string.length()j++) {

char char2 = string.charAt(j)

if (char1 == char2) {

bool = true

break

}

}

}

return bool

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in)

while(true){

String name = ""

String password = ""

System.out.println("请输入账号:")

name = sc.next()

System.out.println("请输入密码:")

password = sc.next()

if (name.equals(theName) &&password.equals(thePassword)) {

break

} else {

System.out.println("账号或密码错误,请重新输入!")

}

}

while(true){

int operate = 0

System.out.println("请选择你要进行的 *** 作:\n1、查询 2、取款 3、存款 4、修改密码 0、退出")

operate = sc.nextInt()

if (0 == operate) {

System.out.println("谢谢使用!")

break

} else if (1 == operate) {

getBalance()

} else if (2 == operate) {

drawMoney(sc)

} else if (3 == operate) {

bankMoney(sc)

} else if (4 == operate) {

updatePass(sc)

}

}

}

}

/** * @author admin * 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能. */ import Java.io.*/*该类为实现客户信息及部分功能*/ class Account { private String code =null//xyk号 private String name =null//客户姓名 private String password=null//客户密码 private double money =0.0//卡里金额 public Account(String code,String name,String password,double money) { this.code=codethis.name=namethis.password=passwordthis.money=money} protected String get_Code() { return code} protected String get_Name() { return name} protected String get_Password() { return password} public double get_Money() { return money} /*得到剩余的钱的数目*/ protected void set_Balance(double mon) { money -= mon} } /**********实现具体取款机功能*********/ class ATM { Account act// private String name// private String pwdpublic ATM() { act=new Account("000000","Devil","123456",50000)} /***********欢迎界面***********/ protected void Welcome() { String str="---------------------------------"System.out.print(str "\n" "欢迎使用Angel模拟自动取款机程序.\n" str "\n")System.out.print(" 1.>取款." "\n" " 2.>查询信息." "\n" " 3.>密码设置." "\n" " 4.>退出系统." "\n")} /**********登陆系统**********/ protected void Load_Sys() throws Exception { String card,pwdint counter=0BufferedReader br=new BufferedReader(new InputStreamReader(System.in))do { System.out.println("请输入您的xyk号:")card=br.readLine()System.out.println("请输入您的密码:")pwd=br.readLine()if(!isRight(card,pwd)) { System.out.println("您的卡号或密码输入有误.")counter } else SysOpter()}while(counter<3)Lock_Sys()} 回复获取全部

原程序的错误有:

1.a为int型。去掉‘’

2.ATM1 atm = new ATM1 , 类名要和前面的一致

3.加入int a = sc.nextInt()// 请加入此句 进而选择相应功能,

PS:程序已调好,试试吧。

import java.util.Scanner

public class ATM1 {

Scanner sc = new Scanner(System.in)

private String name = "lorin"

private double password = 123

private double money = 500

public void aloha(){

System.out.println("***********************")

System.out.println("* *")

System.out.println("* 欢迎使用ATM *")

System.out.println("* *")

System.out.println("* 制作人:lorin *")

System.out.println("* *")

System.out.println("* *")

System.out.println("************************")

land()

}

//登陆页面

public void land(){

System.out.println("请选择 *** 作界面:1取款,2存款,3查询,4转账,5退出")

int a = sc.nextInt()// 请加入此句

switch(a){

case 1 : // 去掉‘’ 因为a 为int型。

get()

break

case 2 :

set()

break

case 3 :

query()

break

case 4 :

divert()

break

case 5 :

SetOut()

break

}

}

//取款

public void get(){

System.out.println("请输入取款金额:")

int a = sc.nextInt()

if(a>money){

System.out.println("余额不足!")

}else{

money-=a

System.out.println("当前余额为:"+money)

land()

}

}

//存款

public void set(){

System.out.println("请输入存款金额:")

int a = sc.nextInt()

money+=a

System.out.println("当前余额为:"+money)

land()

}

//查询

public void query(){

System.out.println("当前余额为:"+money)

land()

}

//转账

public void divert(){

System.out.println("该功能站未开放!")

land()

}

//退出

public void SetOut(){

System.exit(0)

}

public static void main(String[] args) {

ATM1 atm = new ATM1()

atm.aloha()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11157696.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存