Java语言编写的银行账户

实验名称: Java语言编写的银行账户
一. 实验目的

  1. 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
  2. 课程设计提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力,提高适应实际,实践编程的能力。
  3. 培养在项目开发中积极进取精神,创新意识及能力。
    二. 实验内容
    用户开户注册,只有登录成功才能进入存款,取款,查询操作,同时可以显示银行总存款
    三. 源程序及主要算法说明
package saversclass;

import java.util.Scanner;

public class Savers {
	
	private String name;
	private String pwd;
	private float umoney;
	private static float sumMoney;
	private static Scanner in=new Scanner(System.in);
	
	public Savers()
	{
		name="未命名";
		pwd="未设置";
		umoney=(float)0.0;
		
	}
	
	public Savers(String xname,String xpwd,float xmoney)
	{
		name=xname;
		pwd=xpwd;
		umoney=xmoney;
	}
	
	public void setName(String xname){name=xname;}
	public void setPwd(String xpwd){pwd=xpwd;}
	public void setMoney(float xmoney){umoney=xmoney;sumMoney+=xmoney;}
	public void saveMoney(float xmoney){umoney+=xmoney;sumMoney+=xmoney;}
	public void takeMoney(float xmoney){umoney-=xmoney;sumMoney-=xmoney;}
	
	public String getName(){return name;}
	public String getPwd(){return pwd;}
	public float getMoney(){return umoney;}
	
	public  void displayInfo()
	{
		System.out.println("----------------");
		System.out.println("姓名"+name);
		System.out.println("当前余额"+umoney);
		System.out.println("----------------");
	}
	public static void showSum()
	{
		System.out.println("银行当前总金额:"+sumMoney);
	}
	
	public static int menuOne()
	{
		int sel;
		System.out.println("--------");
		System.out.println("1.开户");
		System.out.println("2.登录");
		System.out.println("3.退出");
		System.out.println("请输入代码(1-3):");
		sel=in.nextInt();
		return sel;
	}
	public static int menuTwo()
	{
		int sel;
		System.out.println("--------");
		System.out.println("1.查询余额");
		System.out.println("2.取款");
		System.out.println("3.存款");
		System.out.println("4.银行余额");
		System.out.println("5.退出");
		System.out.println("请输入代码(1-5):");
		sel=in.nextInt();
		return sel;
	}
	public static Savers newUser()
	{
		String xm,mm;
		float money;
		System.out.println("输入用户名:");
		xm=in.next();
		System.out.println("输入密码:");
		mm=in.next();
		System.out.println("预存金额:");
		money=in.nextFloat();
		Savers s=new Savers(xm,mm,money);
		sumMoney+=money;
		return s;
	}
	public static void fanhui(Savers user[],int num)
	{
	  do{
		  switch(Savers.menuOne())
		{
			case 1:
				user[num]=Savers.newUser();
				num++;
				break;
			case 2:
				Savers.login(user,num+1);
				break;
			case 3:
				System.exit(0);
				break;
			default:
				System.out.println("非法操作,系统即将退出。。。");
				System.exit(0);
		
		}
	  }while(true);

	}
	public static void login(Savers a[],int num)
	{
		String xm,mm;
		
		for(int n=0;n<3;n++)
		{
			System.out.println("用户登录平台");
			System.out.println("登录名:");
			xm=in.next();
			for(int i=0;i<num;i++)
			{
				if(a[i].getName().equals(xm))
				{
					System.out.println("登录密码:");
					mm=in.next();
					if(a[i].getPwd().equals(mm))
					{
						do
						{
							switch(Savers.menuTwo())
							{
								case 1:
									a[i].getMoney();
									a[i].displayInfo();
									break;
								case 2:
									System.out.println("输入取款金额");
									a[i].takeMoney(in.nextFloat());
									break;
								case 3:
									System.out.println("输入存款金额");
									a[i].saveMoney(in.nextFloat());
									break;
								case 4:
									Savers.showSum();
									break;
								case 5:
									fanhui(a,i);
									break;
							}
						}while(true);
						
					}
					else
					{
						System.out.println("登录失败,请重新登录,您还有"+(3-n)+"次机会");
					}
				}
				else
				{
					System.out.println("没有此用户,请重新输入");
					break;
				}
			}
		}

			
			
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

black_zt666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值