Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言造锅。Java 技術(shù)具有卓越的通用性、高效性廉邑、平臺移植性和安全性哥蔚,廣泛應(yīng)用于PC、數(shù)據(jù)中心鬓催、游戲控制臺肺素、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng)宇驾,同時擁有全球最大的開發(fā)者專業(yè)社群倍靡。
給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
小編推薦一個學(xué)Java的學(xué)習(xí)裙【 六五零,五五四课舍,六零七 】塌西,無論你是大牛還是小白他挎,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具捡需,很多干貨和技術(shù)資料分享办桨!
這是自己寫的一個特別簡單的銀行ATM機系統(tǒng),邏輯功能都一般站辉,只是隨便寫了實現(xiàn)幾個小功能呢撞,還有很多需要完善優(yōu)化的地方。這個小程序涉及的主要就是面向?qū)ο蠓治鍪伟T谥骱瘮?shù)部分殊霞,寫了3種實現(xiàn),讀者都可以嘗試看看汰蓉,說實話绷蹲,這種代碼就是垃圾,因為閱讀性實在太差顾孽,讀者有興趣可以看看研究研究祝钢。
//源代碼
package oo.day06;
import java.util.Scanner;
//import oo.day05.CCB;
public class UnionPayTest {
public static void main(String[] args) {
ICBCImpl icbc = new ICBCImpl(2000.0,"123456");
Scanner scan = new Scanner(System.in);
System.out.println("輸入數(shù)字選擇銀行:"+" "+"1-ICBC 2-ABC 3-CCB");
int num1 = scan.nextInt();
switch(num1){
case 1:
//驗證密碼
System.out.println("輸入密碼:");
String password = scan.next();
if(icbc.checkPwd(password)){
//System.out.println("密碼正確!");
System.out.println("密碼正確!"+" "+"請輸入數(shù)字選擇功能:1-查詢 2-取款 3-網(wǎng)上支付");
//開始輸入數(shù)字選擇功能
int num = scan.nextInt();
switch(num){
case 1:
//查詢余額
System.out.println("余額:"+icbc.getBalance());
break;
case 2:
//取款
System.out.println("請輸入取款金額:");
double number1 = scan.nextDouble();
if(icbc.drawMoney(number1)){
System.out.println("取款成功,余額為:"+icbc.getBalance());
}else{
System.out.println("取款失敗!");
}
break;
case 3:
//網(wǎng)上支付
System.out.println("請輸入支付金額:");
double number2 = scan.nextDouble();
if(icbc.payOnline(number2)){
System.out.println("支付成功若厚,余額為:"+icbc.getBalance());
}else{
System.out.println("支付失敗!");
}
break;
default :
System.out.println("輸入錯誤拦英!");
}
}else{
System.out.println("密碼錯誤!");
}
break;
case 2:
break;
case 3:
break;
default :
System.out.println("輸入錯誤盹沈!");
}
/*
//驗證密碼
System.out.println("輸入密碼:");
String password = scan.next();
if(icbc.checkPwd(password)){
//System.out.println("密碼正確!");
System.out.println("密碼正確!"+" "+"請輸入數(shù)字選擇功能:1-查詢 2-取款 3-網(wǎng)上支付");
//開始輸入數(shù)字選擇功能
int num = scan.nextInt();
switch(num){
case 1:
//查詢余額
System.out.println("余額:"+icbc.getBalance());
break;
case 2:
//取款
System.out.println("請輸入取款金額:");
double number1 = scan.nextDouble();
if(icbc.drawMoney(number1)){
System.out.println("取款成功龄章,余額為:"+icbc.getBalance());
}else{
System.out.println("取款失敗!");
}
break;
case 3:
//網(wǎng)上支付
System.out.println("請輸入支付金額:");
double number2 = scan.nextDouble();
if(icbc.payOnline(number2)){
System.out.println("支付成功,余額為:"+icbc.getBalance());
}else{
System.out.println("支付失敗!");
}
break;
default :
System.out.println("輸入錯誤乞封!");
}
*/
/*
//查詢余額
System.out.println("余額:"+icbc.getBalance());
//取款
System.out.println("請輸入取款金額:");
double number1 = scan.nextDouble();
if(icbc.drawMoney(number1)){
System.out.println("取款成功,余額為:"+icbc.getBalance());
}else{
System.out.println("取款失敗!");
}
//網(wǎng)上支付
System.out.println("請輸入支付金額:");
double number2 = scan.nextDouble();
if(icbc.payOnline(number2)){
System.out.println("支付成功岗憋,余額為:"+icbc.getBalance());
}else{
System.out.println("支付失敗!");
}
*/
/*
}else{
System.out.println("密碼錯誤肃晚!");
}
*/
/*農(nóng)行ATM機系統(tǒng)
* 1,什么卡都能插
* 2仔戈,只有農(nóng)行卡才能支付話費
*
*
* */
ABCATM atm = new ABCATM();
//UnionPay card = new ABCImpl(2000.0,"123456");
UnionPay card = new ABCImpl();
atm.insertCard(card);
atm.payTelBill();
//
}
}
class ABCATM{
private UnionPay card;//銀聯(lián)卡
public void insertCard(UnionPay card){
this.card=card;
}
public void payTelBill(){//支付入口按鈕
if(card instanceof ABC){
ABC abcCard = (ABC)card;
abcCard.payTelBill("12345678912", 500);
}else{
System.out.println("不是農(nóng)行卡不能支付");
}
}
}
interface UnionPay{
public abstract double getBalance();
public abstract boolean drawMoney(double money);//取款
public abstract boolean checkPwd(String input);//驗證密碼
}
interface ICBC extends UnionPay{
public abstract boolean payOnline(double money);
}
interface ABC extends UnionPay{
public abstract boolean payTelBill(String phoneNumber,double money);
}
interface CCB extends UnionPay{
public abstract boolean payGas(String homeNumber,double money);
}
class ABCImpl implements ABC{
private double balance;
private String password;
/*
ABCImpl(double balance,String password){
this.balance=balance;
this.password=password;
}
*/
public double getBalance(){
return balance;
}
public boolean drawMoney(double money){
if(money<=balance){
balance-=money;
return true;
}else{
return false;
}
}
小編推薦一個學(xué)Java的學(xué)習(xí)裙【 六五零关串,五五四,六零七 】监徘,無論你是大牛還是小白晋修,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具凰盔,很多干貨和技術(shù)資料分享墓卦!
public boolean checkPwd(String input){
if(password.equals(input)){
return true;
}
return false;
}
public boolean payTelBill(String phoneNumber,double summary){
if(phoneNumber.length()==11 && (balance-summary)>=2000){
balance-=summary;
return true;
}
return false;
}
}
class ICBCImpl implements ICBC{
private double balance;
private String password;
ICBCImpl(double balance,String password){
this.balance=balance;
this.password=password;
}
public double getBalance(){
return balance;
}
public boolean drawMoney(double money){
if(money<=balance){
balance-=money;
return true;
}else{
return false;
}
}
public boolean checkPwd(String input){
if(password.equals(input)){
return true;
}
return false;
}
public boolean payOnline(double money){
if(balance>=money){
balance-=money;
return true;
}
return false;
}
}
class CCBImpl implements CCB{
private double balance;
private String password;
CCBImpl(double balance,String password){
this.balance=balance;
this.password=password;
}
public double getBalance(){//查詢余額
return balance;
}
public boolean drawMoney(double number){//取錢,返回取錢成功與否的結(jié)果
if((balance-number)>=5000){
balance-=number;
return true;
}
return false;
}
public boolean checkPwd(String input){//檢查密碼
if(password.equals(input)){
return true;
}else{
return false;
}
}
public boolean payGas(String homeNumber,double number){
if(homeNumber.length()==11 && (balance-number)>=2000){
balance-=number;
return true;
}
return false;
}
}
程序運行結(jié)果演示
程序運行結(jié)果演示
小編推薦一個學(xué)Java的學(xué)習(xí)裙【 六五零户敬,五五四落剪,六零七 】睁本,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)忠怖!裙內(nèi)有開發(fā)工具呢堰,很多干貨和技術(shù)資料分享!
程序運行結(jié)果演示
程序運行結(jié)果演示
程序運行結(jié)果演示