本文目錄一覽:
- 1、Java編程實現程序用於模擬ATM取款機。
- 2、用java編寫多線程銀行ATM 模擬程序
- 3、如何用Java編寫模擬ATM取款機的程序
- 4、JAVA模擬ATM機
- 5、用JAVA製作簡單的ATM的代碼 求教
Java編程實現程序用於模擬ATM取款機。
package demo;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int cnt=3;
String username = null;
String password = null;
double money = 1000;
String targetName = “admin33”;
double targetMoney = 1000;
while(true){
if(username!=nullpassword!=null){
if(“admin”.equals(username) “123”.equals(password)){
System.out.println(“歡迎光臨”);
while(true){
System.out.println(“請選擇您的操作 1 取錢 2 存錢 3 轉賬 4 查詢 5 退出 “);
int n = scanner.nextInt();
if(n==1){//取錢
System.out.println(“請輸入金額”);
int getter = scanner.nextInt();
if(getter=0){
if(getter=5000){
if(getter=money){
money-=getter;
}else{
System.out.println(“餘額不足”);
}
}else{
System.out.println(“單筆只能取5000及以下”);
}
}else{
System.out.println(“銀行不到給”);
}
}else if(n==2){//存錢
System.out.println(“請輸入金額”);
int save = scanner.nextInt();
if(save=0){
money+=save;
}
}else if(n==3){//轉賬
System.out.println(“請輸入目標賬戶”);
String target = scanner.next();
if(target.equals(targetName)){
System.out.println(“請輸入金額”);
int getter = scanner.nextInt();
if(getter=0){
if(getter=5000){
if(getter=money){
money-=getter;
targetMoney+=getter;
}else{
System.out.println(“餘額不足”);
}
}else{
System.out.println(“單筆只能取5000及以下”);
}
}else{
System.out.println(“銀行不到給”);
}
}
}else if(n==4){//查詢
System.out.println(money);
}else if(n==5){//退出
System.exit(0);
}else{
System.out.println(“沒有該項服務”);
}
}
}else{
cnt–;
System.out.println(“輸入錯誤,您還有”+cnt+”次機會”);
username=null;
password=null;
if(cnt=0){
System.out.println(“對不起,您的賬號被凍結,請到最近的營業廳解除凍結”);
System.exit(0);
}
}
}else{
System.out.println(“請輸入您的賬號”);
username = scanner.next();
System.out.println(“請輸入您的密碼”);
password = scanner.next();
}
}
}
}
用java編寫多線程銀行ATM 模擬程序
先構建一個客戶端,再構建一個伺服器端,其實做一個簡單的界面,建立一個資料庫,調用SQl 語句,,實現單機,模擬多線程的就可以了,伺服器部分不做也可以模擬出來。。
PS:這不會是程序專題訓練一吧。。。
如何用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);
}
}
}
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(qukuanjine5000){
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(cunkuanjine0){
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的代碼 求教
ok,稍等
呵呵,已經給你拆分成了兩個獨立的類了。
我再吧注釋加起吧。
哪兒不清楚的可以給我留言嘛,剛開始學習的時候就要多看看別人寫的代碼,然後從中學習。這裡寫的用到了簡單的封裝面向對象靜態類,你可以在多了解下,不難的。
import java.util.Scanner;
public class Atm {
//顯示菜單
static void showMenu() {
System.out.println();
System.out.print(“1.查詢賬戶餘額\n”);
System.out.print(“2.存款\n”);
System.out.print(“3.取款\n”);
System.out.print(“0.退出\n”);
System.out.print(“請選擇操作:”);
}
public static void main(String[] arg) {
//創建一個account的對象
Account account = new Account();
System.out.println(“*******歡迎使用**********”);
//循環操作提示
while (true) {
showMenu();//調用顯示菜單的方法
//得到用戶的輸入
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
switch (input) {
case 1:
account.query();
break;
case 2:
System.out.print(“請輸入存款額:”);
float in = scanner.nextFloat();
account.in(in);
account.query();
break;
case 3:
System.out.print(“請輸入取款額:”);
float out = scanner.nextFloat();
account.out(out);
account.query();
break;
case 0:
System.out.println(“謝謝使用”);
System.exit(0); //終止程序
break;
default:
System.out.println(“輸入有誤”);
}
}
}
}
//帳號類
class Account {
private float money = 8000;
// 查詢賬戶餘額
public void query() {
System.out.println(“賬戶餘額:” + money);
}
// 取出,out是取出的存款數
public void out(float out) {
if (money out) {
System.out.println(“賬戶餘額不足”);
}
this.money -= money;
}
// 存入,in是輸入的存款數
public void in(float in) {
this.money += in;
}
}
原創文章,作者:KGV5C,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129647.html