java小银行的完善2.0版(一)

其实叫java小银行还不如说是ATM机,不久之前,发表了java小银行1.0版,这次就继续延续此名啦!但ATM其实不存在删除用户这一选项。从功能分析只能说是顾客

自己去注销自己的银行卡。

 

这次新增的4个功能是取款、.存款、查看历史记录、个人电子银行、退卡。并且补好了上面1.0版的漏洞。
取款、.存款这是用户本身的行为,所以直接在java小银行1.0版中的Account加上两个方法既可以了;查看历史,我在此是用了一些数组进行记录的如t[2]记录YEAR

对于个人电子银行就是实现打开建设银行的链接;另外用System.exit(0)模拟退卡。

在其中遇到的问题是:取款、.存款都是在以前的基础上进行的。但下面的已经解决,这个问题上要注意一下。

主类:shiyan10_4

顾客:Account

银行:bank类

 另外的类我发表在java小银行的完善2.0版(二)文章中,本应用程序可能存在漏洞,希望大家帮忙指出。(爱技术,也爱生活。)

知识点:http://docs.oracle.com/javase/6/docs/api/java/awt/Desktop.html

http://jingyan.baidu.com/article/7f766daf7ad5b04100e1d040.html

 主类:shiyan10_4

//MR OU
//java小银行的完善2.0版
//2012,12
public class shiyan10_4 {

	
	public static void main(String[] args) {
		
			    caidan cai=new caidan();
			    Calendar c1=Calendar.getInstance();//系统时间
			    String[] str2=new String[10];//记录历史
			    double[]  t2=new double[10];//记录历史
			    int[]  t3=new int[10];//记录历史
			    int[]  t4=new int[10];//记录历史
			    double[] t5=new double[10];//记录历史
			    bank  b=null;
			    Boolean bl=false;//控制顾客先建立用户才能存取。
			    Scanner sca=new  Scanner(System.in);
			   
			    int i=sca.nextInt();
			    int jishu=0;//控制历史记录的条数,超过十条,取余刷新。
			    String str1=null;
			    Account c=new Account();
		while(true)
		{
			switch(i)
			{
				case 1:str1="中国银行" ; System.out.println(str1+"欢迎您");if(b==null){b=new zhongguobank(str1);};break;
				case 2:str1="建设银行"; System.out.println(str1+"欢迎您");if(b==null){b=new jianshebank(str1);};break;
				case 3:str1="工商银行"; System.out.println(str1+"欢迎您");if(b==null){b=new gongshangbank(str1);};break;
				default:break;
		    }
			System.out.println("1,新建账户");
			System.out.println("2,删除账户");
			System.out.println("3.取款");
			System.out.println("4.存款");
			System.out.println("5.查看历史记录");
			System.out.println("6.个人电子银行");
			System.out.println("7.退卡");
			
			int  t=sca.nextInt();
			switch(t)
			{
				case 1:bl=true;t=1;break;
				case 2:t=2;break;
				case 3:t=3;break;
				case 4:t=4;break;
				case 5:t=5;break;
				case 6:t=6;break;
				case 7:t=7;System.exit(0);;break;
				default:break;
			}
			if(t==1)
			{
			    
				System.out.println("请输入账号:");
				String str=sca.next();
				    c.setAccountlno(str);
			    System.out.println("请输入密码:");
			    String pass=sca.next();
				    c.setPassword(pass);
				System.out.println("请输入存入金额:");
				int money=sca.nextInt();
				c.setMoney(money);
		        {
					b.newAccount(c);
			    }
			}
			if(t==2)
			{
				if(bl==true)
				{
				System.out.println("请输入删除第几个账户");
				int j=sca.nextInt();
				b.deleteAccount(j-1);
			    }
				else
				{
					System.out.println("亲!先新建账户啊!");
					
				}
			}
			if(t==3)
			{
				if(bl==true)
				{
					System.out.println("请输入取款金额:");
					double drawmoney=sca.nextDouble();
					double t1=c.withdraw(drawmoney);
					if(t1<0)
					{
						System.out.println("亲!你的余额不足!"); 	
					}
					else
					{
						  
					        System.out.println("你的"+str1+"还剩"+t1);
					     if(jishu<10)
					        {
						        t2[jishu]=c1.get(Calendar.YEAR);
						        t3[jishu]=c1.get(Calendar.MONTH)+1;
						        t4[jishu]=c1.get(Calendar.DAY_OF_MONTH);
						        str2[jishu]="你的建设银行取款";
						        t5[jishu]=drawmoney;
						        jishu=jishu+1; 
					        }
					     else
					     {
					    	 jishu=jishu%10;
					     }
					}
				}
				else
				{
					System.out.println("亲!先新建账户啊!才能取款啊!");
					
				}
				
			}
			
			if(t==4)
			{
				if(bl==true)
				{
					System.out.println("请输入存款金额:");
					double  savingmoney1=sca.nextDouble();
				    System.out.println("存入成功!");
				    System.out.println("你的卡上金额为:"+c.savingdraw(savingmoney1));
				    if(jishu<10)
				    { 
				    t2[jishu]=c1.get(Calendar.YEAR);
			        t3[ jishu]=c1.get(Calendar.MONTH)+1;
			        
			        t4[jishu]=c1.get(Calendar.DAY_OF_MONTH);
			        str2[jishu]="你的建设银行取款";
			        t5[jishu]=savingmoney1;
			        jishu=jishu+1;
				    }
				    else
				    {
				    	jishu=jishu%10;
				    	
				    }
					
				}
				else
				{
					System.out.println("亲!先新建账户啊!才能存款啊!");
				       
				}
			}
			if(t==5)
			{
				for( i=0;i


顾客:Account顾客:Account顾客类

class Account 
{
	    String	Accountlno;
	    private  String  password;
	    private static double  money;
	   
		public String getAccountlno() {
			return Accountlno;
		}
		public void setAccountlno(String accountlno) {
			Accountlno = accountlno;
		}
		public String getPassword() {
			return password;
		}
		public void setPassword(String password) {
			this.password = password;
		}
		public static double getMoney() {
			return money;
		}
		public void setMoney(double money) {
			this.money = money;
		}
		public  double withdraw( double withdrawmoney)//取款(int/贪心算法)
		{   
			//System.out.println(getMoney());
			money=getMoney()-withdrawmoney;
			return  money;
		
		}
		public  double savingdraw(double savingdrawmoney)//存款(int/贪心算法)
		{
			money=getMoney()+savingdrawmoney;
		
			//System.out.println(getMoney());
			return  money;
		}
          
}


 

银行类

class  bank
{
	      String  name;
		 LinkedList a1=new   LinkedList();
		public bank(String  name)
		{
			this.name=name;
		}
		public void newAccount(Account a)
		{
			
			a1.add(a);
			
			System.out.println("第"+a1.size()+"帐户新建成功!");
			Iterator iter=a1.iterator();
			while(iter.hasNext())
			{
				Account  a2=iter.next();
				System.out.println("账号"+"     "+"密码"+"   "+"金额");
				System.out.println(a2.getAccountlno()+"   "+a2.getPassword()+"   "+a2.getMoney());
				
			}
		}
		public void deleteAccount(int j)
		{
			
			if(a1.size()==0)
			{
			  System.out.println("没有账户!删除不成功!");	
			}
			else
			{
				a1.remove(j);
			    System.out.println("删除了第"+(j+1)+"账户成功");
			}
		}
}


 

 



 

你可能感兴趣的:(JAVA)