使用封裝完成銀行系統 * 1.用戶可以進行登錄,登錄不成功則繼續登錄,直到登錄成功爲止 * 2.可以完成取錢功能(餘額不夠則給出提示) * 3.可以完成存錢功能

import java.util.Scanner;

/**
 * 使用封裝完成銀行系統 
 * 1.用戶可以進行登錄,登錄不成功則繼續登錄,直到登錄成功爲止 
 * 2.可以完成取錢功能(餘額不夠則給出提示)
 * 3.可以完成存錢功能
 * 
 * @author Administrator
 */
public class BankSys {
	// 定義一個成員變量爲用戶對象
	User user;
	// 餘額
	double money; 
	// 取錢金額
	double getMoney;
	
	/**
	 * 設置默認用戶的用戶名,密碼
	 */
	public void setUser(){
		user = new User("lzl", "123");
	}
	
	/**
	 * 登錄方法
	 * @param username 傳進來的用戶名
	 * @param password 傳進來的密碼
	 * @return
	 */
	public boolean login(String username, String password) {
		if (user.getUserName().equals(username) && user.getPwd().equals(password)) {
			return true;
		} else {
			return false;
		}
	}
	
	/**
	 * 存錢方法
	 */
	public void saveMoney(){
		System.out.println("請輸入存款金額:");
		Scanner in = new Scanner(System.in);
		money = money + in.nextDouble();
		
		System.out.println("存錢成功!-----------當前餘額爲:" + money + "元");
	}
	
	/**
	 * 取錢方法
	 */
	public void getMoney(){
		System.out.println("請輸入取款金額:");
		Scanner in = new Scanner(System.in);
		getMoney = in.nextDouble();
		
		if (getMoney > money) {
			System.out.println("餘額不足,取款失敗!");
		}else {
			money = money - getMoney;
			System.out.println("取款成功!-----------當前餘額爲:" + money + "元");
		}
	}
	
	
	public static void main(String[] args) {
		// 創建銀行系統對象
		BankSys bankSys = new BankSys();
		bankSys.setUser();
		
		System.out.println("=========歡迎進入xxx銀行========");
		Scanner scanner = new Scanner(System.in);
		
		// 用戶登錄,登錄失敗則一直登錄
		do {
			System.out.println("請輸入用戶名:");
			String username = scanner.next();
			System.out.println("請輸入密碼:");
			String password = scanner.next();
			
			boolean flag = bankSys.login(username, password);
			if (flag) {
				System.out.println("登錄成功!歡迎" + username);
				break;
			}else {
				System.out.println("用戶名或密碼錯誤,請重新輸入!");
			}
		} while (true);
		
		// 用戶存取款功能
		do {
			System.out.println("請選擇要進行的操作:1.存款\t2.取款\t0.退出");
			int choice = scanner.nextInt();
			
			switch (choice) {
			case 1:
				bankSys.saveMoney();
				break;
			case 2:
				bankSys.getMoney();
				break;
			case 0:
				System.out.println("退出成功!");
				System.exit(0);
				break;
			default:
				System.out.println("選擇的操作有誤!");
				break;
			}
		} while (true);
	}
}

/**
 * 用戶類
 * @author Administrator
 *
 */
class User{
	// 定義用戶的屬性:用戶名,密碼
	private String userName;
	private String pwd;
	
	// 定義成員變量對應的get和set方法,以便外界可以對其成員變量進行操作
	// 方法的封裝
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
	
	public User() {}// 無參的構造方法
	
	public User(String userName,String pwd) {// 有參的構造方法
		this.userName = userName;
		this.pwd = pwd;
	}
}

發佈了24 篇原創文章 · 獲贊 28 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章