⑴ java模擬銀行ATM完成以下功能: 1)查詢余額 2)取款 3)存款 4)退出
import java.util.Scanner;
public class ATM{
public static void main(String... args){
Scanner sc=new Scanner(System.in);
double money=0;
do{
System.out.println("請選擇業務:1)查詢余額 2)取款 3)存款 4)退出");
int c=sc.nextInt();
if(c==1){
System.out.println("用戶余額為:"+money+"元");
}else if(c==2){
while(true){
System.out.println("請輸入取款金額:");
double load=sc.nextDouble();
if(load>=money){
System.out.println("賬戶余額不足,請重新輸入取款金額");
continue;
}else{
money-=load;
System.out.println("取款成功");
break;
}
}
}else if(c==3){
System.out.println("請輸入存款金額:");
money+=sc.nextDouble();
System.out.println("存款成功");
}else if(c==4){
System.exit(0);
}else{
System.out.println("輸入錯誤,請重新選擇業務");
}
}while(true);
}
}
⑵ JAVA 模擬ATM櫃員機模擬程序
/**
要求:使用字元用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統能登錄ATM櫃員機系統,用戶可以按照以下規則進行:
1、查詢余額:初始余額為10000元
2、ATM取款:每次取款金額為100的倍數,總額不超過5000元,支取金額不允許透支。
3、ATM存款:不能出現負存款。
4、修改密碼:新密碼長度不小於6位,不允許出現6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。
(卡號密碼余額放到文件中)
*/
publicclassTest{
privatestaticintaccount;
privatestaticintpassword;
privatestaticintmoney;
privatestaticbooleanisLogin;
static{
account=123456;
password=123456;
money=10000;
isLogin=false;
}
//存款
publicvoidcun(intcunKuan){
if(cunKuan>=0){
this.money+=cunKuan;
}else{
System.out.println("存款不能為負!");
}
}
//取款
publicvoidqu(intquKuan){
if(this.money-quKuan<0){
System.out.println("余額不足!");
return;
}
if(isValid(quKuan)){
this.money-=quKuan;
}else{
System.out.println("取款不能為負,且應為100的倍數!");
}
}
//判斷是否為有效的金額
privatebooleanisValid(intmoney){
if(money>=0&&money%100==0){
returntrue;
}
returnfalse;
}
//登陸
publicvoidlogin(){
System.out.println("請輸入賬號和密碼【格式為:賬號/密碼】");
Stringlogin=newScanner(System.in).next();
if(login.equalsIgnoreCase("123456/123456")){
this.isLogin=true;
}else{
System.out.println("賬號或者密碼錯誤,請重新輸入!");
login();
}
}
//主菜單
publicvoidshow(){
System.out.println("[1]存款");
System.out.println("[2]取款");
System.out.println("[3]退出");
System.out.println("請輸入:");
intkey=newScanner(System.in).nextInt();
switch(key){
case1:
cun(newScanner(System.in).nextInt());
break;
case2:
qu(newScanner(System.in).nextInt());
break;
case3:
System.exit(0);
default:
break;
}
}
publicstaticvoidmain(String[]args){
Testt=newTest();
t.login();
if(t.isLogin){
for(;;){
t.show();
System.out.println("您當前的余額為:"+t.money);
}
}
}
}
⑶ 用java做一個簡易的ATM機具體流程在下面
代碼如下
packageBaiD;
importjava.util.Scanner;
publicclassATM{
/*1提示請輸入密碼然後直接進入下一步。密碼6位限制(限制方法用「最小大於100000最大小於999999」這樣限制)
2.提示密碼正確還是錯誤密碼直接弄成「123456」錯誤返回上一步循環方法用for循環。
3.密碼輸入正確後進入下一步提示5個選項(1.余額查詢「基礎10000」2.取款3存款4.退出)
4.進行取款或者存款之後要回到第三步重新選擇(余額和取款存款相關聯)
備註:用鍵盤輸入的方法用scanner*/
privatestaticintmoney=10000;//全局變數余額默認10000
publicstaticvoidmain(Stringargs[])
{
for(;;){//for循環,有意思嗎?
System.out.println("請輸入密碼:");
Scannerinput=newScanner(System.in);
intpw=input.nextInt();
if(Checkpw(pw)){
System.out.println("密碼正確。");
Next();
}
elseSystem.out.println("密碼錯誤!");
}
}
publicstaticbooleanCheckpw(intpw)
{
if(pw==123456)returntrue;//固定密碼就不需要限制位數了,反正不符合就錯
else
returnfalse;
}
publicstaticvoidNext(){
do{
System.out.println("請選擇你需要的功能:");
System.out.println("1.余額查詢2.取款3.存款4.退出");
intvalue=newScanner(System.in).nextInt();
switch(value){
case1://查詢余額
System.out.println("您的余額為"+money+"元");
break;
case2://取款
System.out.println("請輸入取款金額:");
intgetnum=newScanner(System.in).nextInt();
if(getnum<0)System.out.println("輸入金額有誤!");
elseif(getnum>money)System.out.println("余額不足.");
else{money=money-getnum;System.out.println("取款成功,余額為"+money);}
break;
case3://存款
System.out.println("請輸入存款金額:");
intpushnum=newScanner(System.in).nextInt();
if(pushnum<0)System.out.println("輸入金額有誤!");
else{money=money+pushnum;System.out.println("存款成功,余額為"+money);}
break;
case4://退出
System.out.println("謝謝使用!");
System.exit(0);
break;
default:
System.out.println("輸入有誤");
break;
}
}while(true);
}
}
2、運行效果
⑷ 求高手用JAVA編寫一個模擬ATM機取款業務需求如下:
樓主您好,編碼如下,直接運行即可:
import java.util.Scanner;
public class AtmGetMoney {
public static void main(String[] args) {
String password = "111111";
int count = 0;
int a = 0;
while(count<3){
System.out.println("請輸入銀行卡密碼: ");
Scanner scan = new Scanner(System.in);
String passwd = scan.nextLine();
while(passwd.equals(password)){
System.out.println("請輸入取款金額: ");
int amount = scan.nextInt();
if(amount%100 == 0 && amount <= 1000){
System.out.println("您的取款金額為: "+amount);
System.out.println("交易完成,請讀卡!");
a = a + 1;
break;
}
else {
System.out.println("只能提取100元紙幣,要求最低0,最高1000!");
continue;
}
}
if (a == 1){
break;
}
else if (count < 2) {
System.out.println("銀行卡密碼錯誤");
count = count + 1;
continue;
}
else {
System.out.println("密碼錯誤請讀卡");
break;
}
}
}
}
⑸ JAVA模擬ATM機
import java.util.*;
public class ATM {
static int people=123456;
static int mima=123456;
static int yue=10000;
static Scanner in=null;
public ATM(int people,int mima){
this.mima=mima;
}
public static void main(String[] args) {
chongxindenglu();
int count=1;
while(count!=0){
System.out.println("1、查詢余額");
System.out.println("2、取款");
System.out.println("3、存款");
System.out.println("4、修改密碼");
System.out.println("5、重新登錄");
count=in.nextInt();
switch(count){
case 1: System.out.println(10000); System.out.println(); break;
case 2: quKuan(); break;
case 3: cunKuan(); break;
case 4: xiugai(); break;
case 5: chongxindenglu();
}
}
}
public static void quKuan(){
System.out.println("請輸入取款金額:");
int qukuanjine=in.nextInt();
if(qukuanjine>5000){
System.out.println("取款金額不能大於5000"+"\n");
}else{
if(qukuanjine%100!=0){
System.out.println("取款金額必須為100的整逗凳數倍"+"\n");
}else{
yue=yue-qukuanjine;
System.out.println("您取出了"+qukuanjine+"元虧指指,您現在的余額為:"+yue+"元"+"\n");
}
}
}
public static void cunKuan(){
System.out.println("請輸入存款金額");
int cunkuanjine=in.nextInt();
if(cunkuanjine<0){
System.out.println("存款金額不能小於0");
}else{
yue=yue+cunkuanjine;
System.out.println("您已成功存入:"+cunkuanjine+"元,您現在總余額為:"+yue+"元"+"\n");
}
}
public static void xiugai(){
System.out.println("請輸入您的密碼:");
int mima1=in.nextInt();
if(mima1==mima){
System.out.println("請輸入新密碼:");
mima=in.nextInt();
System.out.println("您的銷配密碼已修改為:"+mima+"\n");
}else{
System.out.println("密碼輸入錯誤:"+"\n");
}
}
public static void chongxindenglu(){
in=new Scanner(System.in);
System.out.println("請輸入登錄帳號:");
int denglupeople=in.nextInt();
System.out.println("請輸入登錄密碼:");
int denglumima=in.nextInt();
if(denglupeople==people && denglumima==mima)
System.out.println("帳號登錄成功"+"\n");
else
System.out.println("密碼輸入錯誤,登錄失敗"+"\n");
}
}
⑹ 如何用Java編寫模擬ATM取款機的程序
import java.io.IOException;
/**
* ATM機類
*
* 查看余額
*
* 取款
*
* 存款
*
* 退出系統
*
*
*
*/
public class ATM {
static double yue = 1200.00;
public static void main(String[] arg) {
ATM localTest1 = new ATM();
localTest1.ATM_Operate();
}
/**
* ATM機的操作
*/
private void ATM_Operate() {
System.out.println("歡迎使用中國工商銀行ATM取款機");
System.out.println("1、查看余額 2、取款");
System.out.println("3、存款 0、退出");
System.out.print("請輸入您需要的服務:");
byte[] buffer = new byte[512];
try {
int count = System.in.read(buffer);// 返回實際讀取的位元組數
System.out.print("您輸入的是:");
for (int i = 0; i < count; i++) {
System.out.print("" + (char) buffer[i]);
}
if ((char) buffer[0] == '1') {
// 查看余額
System.out.println("您的余額是:¥" + yue + "元");
System.out.println();
ATM_Operate();
} else if ((char) buffer[0] == '2') {
// 取款
withdrawal();
System.out.println();
ATM_Operate();
} else if ((char) buffer[0] == '3') {
// 存款
deposit();
System.out.println();
ATM_Operate();
} else if ((char) buffer[0] == '0') {
// 退出
System.out.println("您已經成功退出系統,謝謝你的使用");
System.exit(0);
} else {
System.out.println("輸入不合法,請重新輸入");
System.out.println();
ATM_Operate();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 取款
*
* @throws IOException
*/
private void withdrawal() throws IOException {
byte[] buffer = new byte[512];
System.out.print("請輸入您要取出的金額:¥");
int count2 = System.in.read(buffer);// 返回實際讀取的位元組數
System.out.print("您輸入的金額是:");
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
}
System.out.println();
// 字元0 ~ 9對應ASCII值48 ~ 57
boolean flag = false;
for (int i = 0; i < count2 - 1; i++) {
if ((char) buffer[i] > 47 && (char) buffer[i] < 58) {
if (i == count2 - 2) {
flag = true;
}
} else {
// 輸入的字元不是數值
System.out.println("輸入不合法,請重新輸入");
withdrawal();
break;
}
}
System.out.println();
if (flag) {
System.out.print("您已成功取出¥:");
String num = "";
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
num += (char) buffer[i];
}
yue -= Double.valueOf(num);
System.out.print(",現在余額¥:" + yue);
}
}
/**
* 存款
*
* @throws IOException
*/
private void deposit() throws IOException {
byte[] buffer = new byte[512];
System.out.print("請輸入您要存入的金額:¥");
int count2 = System.in.read(buffer);// 返回實際讀取的位元組數
System.out.print("您輸入的金額是:");
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
}
System.out.println();
// 字元0 ~ 9對應ASCII值48 ~ 57
boolean flag = false;
for (int i = 0; i < count2 - 1; i++) {
if ((char) buffer[i] > 47 && (char) buffer[i] < 58) {
if (i == count2 - 2) {
flag = true;
}
} else {
// 輸入的字元不是數值
System.out.println("輸入不合法,請重新輸入");
withdrawal();
break;
}
}
System.out.println();
if (flag) {
System.out.print("您已成功存入¥:");
String num = "";
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
num += (char) buffer[i];
}
yue += Double.valueOf(num);
System.out.print(",現在余額¥:" + yue);
}
}
}
⑺ ATM機取錢題的java做法
publicstaticvoidmain(String[]args){
StringrealPwd="111111";
IntegererrorCount=0;
Integeraccount;
Scannersc= newScanner(System.in);
while(true){
System.out.print("請輸入密碼:");
Stringpwd=sc.next();
if(!pwd.equals(realPwd)){
errorCount++;
System.out.println("第"+errorCount+"次輸入密碼不正確");
if(errorCount>=3){
System.out.println("密碼錯誤,請取卡");
break;
}
}else{
while(true){
System.out.print("請輸入取款金額:");
account=sc.nextInt();
if(account>1000||account<0){
System.out.println("取款金額最低0元,最高1000元");
}elseif(account%100!=0){
System.out.println("只有100的紙幣");
}else{
System.out.println("取款金額"+account+"元");
System.out.println("交易完成,請取卡");
break;
}
}
break;
}
}
}