求助大神,这个Java银行小程序为什么运行出错??

package entity;
public class Account {
private static long id=100000;
private String password;
private String name;
private String personld;
private double balance;
public Account(){
System.out.println("Account无参构造方法!");
}
public Account(String p,String n,String pe,double b){
password=p;
name=n;
personld=pe;
balance=b;
id++;
}
public void setPassword(String s){
password=s;
}
public String getPassword(){
return password;
}
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
public void setPersonld(String pe){
personld=pe;
}
public String getPersonld(){
return personld;
}
public void setBalance(double b){
balance=b;
}
public double getBalance(){
return balance;
}
public long getId(){
return id;
}
public void deposit(double b){
balance+=b;
}
public void withdraw(double b){
if(b>balance){
System.out.println("账户余额不足!请充值!");
}
else{
balance-=b;
}
}
}
package biz;
import entity.Account;
public class Bank {
	 Account a[]=new Account[20];
	
	 int number=0;
	//用户开户方法
	public long openAccount(String p,String p1,String n,String pe,double b){
		Account acc=null;
		if(p.equals(p1)){				      
	           acc =new Account(p,n,pe,b); 		
			}
			else{
				System.out.println("两次密码输入不一致!");
				
			}
		if(number>=a.length){
			Account aplus[]=new Account[a.length*3];
			System.arraycopy(a, 0, aplus, 0, a.length);
			a=aplus;
			a[number]=acc;
			number++;
			System.out.println("创建一个新的更大数组!");			
		}
		   else{
			a[number]=acc;
			number++;
		  }
		
		return acc.getId();
		}
	
	//用户登录方法
	public long landAccount(long id,String p){
		//Account acc=null;
		for(int i=0;i<number;i++){
			if(a[i].getId()==id&&p.equals(a[i].getPassword())){
				System.out.println("登录成功!");
				return a[i].getId();
			}
			else{
				System.out.println("没有找到账户!");
			}
			
		}
		 return 0;
	}
	//用户存款方法
	public void depositAccount(long id,double b){
		for(int i=0;i<number;i++){
			if(id==a[i].getId()){
				a[i].setBalance(b);
				System.out.println("存款成功");
				break;
			}
			else{
				System.out.println("没有找到该账户");
			}
		}
	}
	//用户取款方法
	public void withdrawAccount(long id,double b){
		for(int i=0;i<number;i++){
			if(id==a[i].getId()){
				a[i].withdraw(b);
				System.out.println("取款成功");
			}
			else{
				System.out.println("没有找到该账户");
			}
		}
		
	}
	//查询余额方法
	public double inquiryAccount(long id){
		for(int i=0;i<number;i++){
			if(id==a[i].getId()){
			return	a[i].getBalance();
			}
			else{
				System.out.println("没有找到该账户");
			}
		}
		return 0;
	
	}
	public static void main(String args[]){
		Bank a=new Bank();
		long addc=a.openAccount("1234", "1234", "asd", "54321", 123.43);
		System.out.println(addc);
		long add=a.openAccount("123", "123", "asd", "54321", 123.43);
		System.out.println(add);
		
		
		
		//long ac=a.openAccount("1235", "1235", "asd", "54321", 123.43);
		//System.out.println(ac);
		
		//long dd=a.openAccount("1236", "1236", "asd", "54321", 123.43);
		//System.out.println(dd);
	
		//long sdd=a.openAccount("1237", "1237", "asd", "54321", 123.43);
		//System.out.println(sdd);
		
		
		
		
		long bs=a.landAccount(100001, "1234");
		System.out.println(bs);
		a.depositAccount(100001, 200);
		System.out.println("余额为: "+a.inquiryAccount(100001));
		a.withdrawAccount(100001, 100);
		System.out.println("余额为: "+a.inquiryAccount(100001));
		
	}
    
	

}


慕瓜9785990
浏览 1322回答 1
1回答

慕瓜9785990

是不是对象数组那错了。。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java