當前位置:首頁 » 課程設計 » atm取款機java課程設計

atm取款機java課程設計

發布時間: 2020-11-18 07:54:09

A. 使用Java語言中(類和對象)編寫: ATM自動存取款機的程序

很簡單的例子,我把代碼貼出來吧
import java.util.Scanner;
public class ATM {
/**
* @param args
*/
public static void main(String[] args) {
Scanner in = null;
int result;
double drawMoney;
double depositMoney;
Account account = new Account();
while (true) {
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(ABC)中國農業銀行ATM自動存取款機☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("\n\t\t\t\t1.存款業務");
System.out.println("\n\t\t\t\t2.取款業務");
System.out.println("\n\t\t\t\t3.查詢余額");
System.out.println("\n\t\t\t\t4.退出ATM系統");
System.out.println("\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆中國農業銀行歡迎您的使用☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
in = new Scanner(System.in);
switch (in.nextInt()) {
case 1:
System.out.println("請輸入您的存款數額!");
depositMoney = in.nextDouble();
if(depositMoney < 0)
System.out.println("您的輸入無效,請重新輸入!");
result = account.deposit(depositMoney);
if(result == 0){
System.out.println("存款業務完成,是否顯示余額?Y/N");
if("Y".equalsIgnoreCase(in.next())){
System.out.println("您當前的余額為:"+account.checkCurrent());
}else {
break;
}
}else {
System.out.println("無法完成交易!");
break;
}
break;
case 2:
System.out.println("請輸入您的取款數額!");
drawMoney = in.nextDouble();
if (drawMoney < 0) {
System.out.println("您的輸入無效,請重新輸入!");
}
result = account.withDraw(drawMoney);
if (result == 0) {
System.out.println("存款業務完成,是否顯示余額?Y/N");
if("Y".equalsIgnoreCase(in.next())){
System.out.println("您當前的余額為:"+account.checkCurrent());
}else {
break;
}
} else {
System.out.println("無法完成交易!");
break;
}
case 3:
System.out.println("您當前的余額為:"+account.checkCurrent());
break;
case 4:
break;
default:
break;
}
}
}
}

public class Account {
private double currentMoney;//當前余額
public double getCurrentMoney() {
return currentMoney;
}
public void setCurrentMoney(double currentMoney) {
if (currentMoney > 0) {
this.currentMoney = currentMoney;
}
}
/**
* 取款業務
* @param drawMoney
* @return 0代表成功,1代表失敗
*/
public int withDraw(double drawMoney) {
if (currentMoney > 0 && drawMoney <= currentMoney) {
currentMoney -= drawMoney;
} else {
System.out.println("您的余額已不足!");
return 1;
}
return 0;
}
/**
* 存款業務
* @param depositMoney
* @return 0代表成功,1代表失敗
*/
public int deposit(double depositMoney) {
if (depositMoney > 0) {
currentMoney += depositMoney;
return 0;
}else {
System.out.println("您提交的存款為負數,無法完成存款交易");
return -1;
}
}
/**
* 查詢余額業務
* @return
*/
public double checkCurrent() {
return currentMoney;
}
}

B. 急求,關於Java課程設計ATM創建實現

我現寫的:importjava.util.Scanner;publicclassATM{

privatestaticStringtheName="admin";
="123456";

privatestaticintbalance=10000;

publicstaticvoidgetBalance(){
System.out.println("當前余額:"+balance);
}

publicstaticvoiddrawMoney(Scannersc){
intmoney=0;
System.out.println("請輸入取款金額:");
money=sc.nextInt();
Stringtype="";
if(balance>0){
if(balance>=money){
if(money<=5000){
balance=balance-money;
type="請在30秒內提取現金... 剩餘余額:"+balance;
}elseif(money<=0){
type="金額錯誤";
}else{
type="超出最大限制金額";
}
}else{
type="超出最大余額";
}
}else{
type="余額不足";
}
System.out.println(type);
}

publicstaticvoidbankMoney(Scannersc){
intmoney=0;
System.out.println("請輸入存儲金額:");
money=sc.nextInt();
Stringtype="";
if(money>0){
balance=balance+money;
type="存儲成功,現有餘額:"+balance;
}else{
type="存儲金額不能為負";
}
System.out.println(type);
}

publicstaticvoipdatePass(Scannersc){
StringoldPass="";
StringnewPass1="";
StringnewPass2="";
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("兩次輸入不一致,重新輸入");
}
}
}

publicstaticbooleanisSame(Stringstring){
booleanbool=false;
for(inti=0;i<string.length()-1;i++){
charchar1=string.charAt(i);
for(intj=i+1;j<string.length();j++){
charchar2=string.charAt(j);
if(char1==char2){
bool=true;
break;
}
}
}
returnbool;
}

publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
while(true){
Stringname="";
Stringpassword="";
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){
intoperate=0;
System.out.println("請選擇你要進行的操作: 1、查詢2、取款3、存款4、修改密碼0、退出");
operate=sc.nextInt();
if(0==operate){
System.out.println("謝謝使用!");
break;
}elseif(1==operate){
getBalance();
}elseif(2==operate){
drawMoney(sc);
}elseif(3==operate){
bankMoney(sc);
}elseif(4==operate){
updatePass(sc);
}
}

}
}

C. 急急急~~求JAVA中用方法寫出一個銀行ATM取款機的代碼怎麼寫!!

public class Card {
public String type; //卡的類型
public String cardCode; //卡號
public double money; //錢

/**
* 重寫toString()方法
*/
public String toString(){
return "卡的類型:"+type+"\t卡號:"+cardCode+"\t余額:"+money;
}
}public class Person {
Card card;

/**
* 構造方法,一般用來初始化信息
* 此方法是創建對象時自動調用的
*
*/
public Person(){
card=new Card();
card.type="招商銀行";
card.money=1000D;
}

/**
*
* @param money 你要取的錢
* @return 返回的是取到的錢
*/
public double getMoney(double money){
if( (card.money-money) >=0){
card.money=card.money-money;//從卡中減去要取的錢,並重新改變卡中的余額
return money;
}else{
System.out.println("余額不足:請存款!");
return 0;
}
}

/**
* 存款
* @param money
*/
public void setMoney(double money){
if(money<=0){
System.out.println("不能為0!");
}else
card.money=card.money+money;
}

/**
* 這個方法是輸出客戶卡的信息
*/
public void print(){
System.out.println(card);
}
}public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p=new Person();
p.card.cardCode="111100022222";
p.setMoney(1000);
double money=p.getMoney(2000);

System.out.println(p.card);
}

}

D. ATM取款機系統用JAVA怎麼做/

銀行 ATM 客戶

要用到多線程,考慮線程安全

E. java 編寫ATM提款機程序

原程序的錯誤有:
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();

}

}

F. 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;

}

}

}


G. 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!=null&&password!=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("單筆只能取及以下");
}
}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();
}
}
}
}

H. 用java寫過銀行ATM取款機的程序

。。。這為什麼 跟我們當初留的題目如此一樣

I. JAVA 模擬ATM櫃員機模擬程序

/*
要求:使用字元用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統能登錄ATM櫃員機系統,用戶可以按照以下規則進行:
1、查詢余額:初始余額為10000元
2、ATM取款:每次取款金額為100的倍數,總額不超過5000元,支取金額不允許透支。
3、ATM存款:不能出現負存款。
4、修改密碼:新密碼長度不小於6位,不允許出現6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。
(卡號密碼余額放到文件中)
*/

public class ATM {

private Account acc;

private File dataFile;
private FileWriter fw;
private BufferedWriter bw;

private String filePath = "./data.txt";

public ATM() {
this.acc = new Account();
try {
this.dataFile = new File(this.filePath);
if (!this.dataFile.exists()) {
this.dataFile.createNewFile();
}
this.fw = new FileWriter(this.filePath);
this.bw = new BufferedWriter(this.fw);
} catch (IOException io) {
System.err.println("Cannot open file");
io.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
new ATM().interact();
}

public void interact() {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Account #: ");
String temp = br.readLine();
System.out.println("Password: ");
String temp2 = br.readLine();
if (!this.acc.isValid(Long.parseLong(temp.trim()), temp2.trim()) {
System.err.println("Wrong password");
return;
}
System.out.println("1. Account Inquery.");
System.out.println("2. Withdraw");
System.out.println("3. Deposit.");
System.out.println("4. Change Password.");
System.out.println("5. Export to File.");
System.out.println("0. Exit.");
int c = 100;
while (c != 0) {
String str = br.readLine();
try {
int c = Integer.parseInt(str.trim());
} catch (NumberFormatException nfe) {
System.err.println("Invalid choice");
continue;
}
switch (c) {
case 0:
System.out.println("Thank you");
break;
case 1:
System.out.println("Balance: " + this.acc.balanceInquery());
break;
case 2:
System.out.println("How much? ");
String temp = br.readLine();
try {
long ammount = Long.parseLong(temp.trim());
this.acc.withdraw(ammount);
break;
} catch (NumberFormatException nfe) {
System.err.println("Invalid amount");
continue;
}
case 3:
System.out.println("How much? ");
String temp = br.readLine();
try {
long ammount = Long.parseLong(temp.trim());
this.acc.deposit(ammount);
break;
} catch (NumberFormatException nfe) {
System.err.println("Invalid amount");
continue;
}
case 4:
System.out.println("Old password: ");
String temp = br.readLine();
System.out.println("New password: ");
String temp2 = br.readLine();
this.acc.changePassword(temp, temp2);
break;
case 5:
this.bw.write(this.acc.toString());
break;
default:
break;
}
}
}

}

class Account {

private long accNo = 123456;
private String pass = "123456";
private long balance = 10000;

public Account() {

}

public boolean isValid(long accNo, String pass) {
return (this.accNo == accNo) && (pass.equals(this.pass));
}

public void changePassword(String oldPass, String password) {
if (!oldPass.equals(this.pass)) {
System.err.println("Wrong password.");
return;
}
if (password.length < 6) {
System.err.println("Password too short");
return;
}
if (password.equals(this.pass)) {
System.err.println("Password cannot be the same.");
return;
}
this.pass = password;
}

public long balanceInquery() {
return this.balance;
}

public void withdraw(long amount) {
if (amount > 5000 || amount < 0) {
System.err.println("Withdraw limit: $0-$5000");
return;
}
if ((amount % 100) != 0) {
System.err.println("The amount has to be a proct of 100");
return;
}
long newBalance = this.balance - amount;
if (newBalance < 0) {
System.err.println("Not enough money in the account");
return;
}
this.balance = newBalance;
}

public void deposit(long amount) {
if (amount < 0) {
System.err.println("Cannot deposit negative amount");
return;
}
this.balance += amount;
}

public String toString() {
return ("Account #: " + this.accNo + "\n" + "Password: " + this.pass + "\n" + "Balance: " + this.balance);
}
}

J. 求高手用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;
}

}

}

}

熱點內容
幼師專業怎麼樣 發布:2021-03-16 21:42:13 瀏覽:24
音樂小毛驢故事 發布:2021-03-16 21:40:57 瀏覽:196
昂立中學生教育閘北 發布:2021-03-16 21:40:47 瀏覽:568
建築業一建報考條件 發布:2021-03-16 21:39:53 瀏覽:666
2017年教師資格注冊結果 發布:2021-03-16 21:39:49 瀏覽:642
中國教師資格證查分 發布:2021-03-16 21:39:41 瀏覽:133
踵什麼成語有哪些 發布:2021-03-16 21:38:20 瀏覽:962
東營幼師專業學校 發布:2021-03-16 21:35:26 瀏覽:467
機械電子研究生課程 發布:2021-03-16 21:33:36 瀏覽:875
杭州朝日教育培訓中心怎麼樣 發布:2021-03-16 21:33:28 瀏覽:238