使用封装完成银行系统 * 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;
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java编程是一种面向对象的编程语言,它具有很强的跨平台性和灵活性。在Java中,可以利用循环结构和函数来实现重复输入操作,以增强程序的交互性和用户体验。 对于你提到的百知银行管理系统,可以通过以下方式实现重复输入操作: 1. 使用循环结构(如while循环或do-while循环)来实现程序的持续运行,直到用户选择退出。 2. 在循环中,根据用户的选择执行相应的操作。比如,查询余额、修改密码、存款和取款等功能。 3. 使用函数来封装每个功能的具体实现,以提高代码的可读性和可维护性。 下面是一个简单的示例代码: ```java import java.util.Scanner; public class BankManagementSystem { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int choice; do { System.out.println("********欢迎进入百知银行管理系统**************"); System.out.println("1.查询余额 2.修改密码 3.存款 4.取款 5.退出"); System.out.println("请输入您的选择:"); choice = scanner.nextInt(); switch (choice) { case 1: queryBalance(); break; case 2: changePassword(); break; case 3: deposit(); break; case 4: withdraw(); break; case 5: System.out.println("感谢使用百知银行管理系统,再见!"); break; default: System.out.println("无效的选择,请重新输入!"); } } while (choice != 5); } public static void queryBalance() { // 查询余额的具体实现 System.out.println("查询余额功能"); } public static void changePassword() { // 修改密码的具体实现 System.out.println("修改密码功能"); } public static void deposit() { // 存款的具体实现 System.out.println("存款功能"); } public static void withdraw() { // 取款的具体实现 System.out.println("取款功能"); } } ``` 通过以上代码,用户可以根据自己的需求选择不同的功能,并且可以重复进行操作。你可以根据实际需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值