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