亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch8ex6.java

?? JAVA程序設計 丁岳偉 彭敦陸編 高等教育出版社 第7---11章程序
?? JAVA
字號:
import java.util.*;
import java.io.*;
class Account{
	private String name;
	private String ID;
	private double balance;
	private int overdraftNum;
	private double withdrawAndSave[]=new double[1000];
	private double overdraftLimit;
	private int index;
	public Account(){
		name=null;
	}
	public Account(String idNum,String n,double over)throws Exception{
		if(idNum.length()!=16)
			throw new Exception("ID number should be 16 digits");
		else{
			for(int j=0;j<idNum.length();j++){
				char c=idNum.charAt(j);
				if(c<'0'||c>'9')
					throw new Exception("ID number should be all digit");
			}
		}
		name=n;ID=idNum;index=0;balance=0.0;overdraftNum=0;
		if(over<=0)
			overdraftLimit=0.0;
		else
			overdraftLimit=over;
		for(int j=0;j<withdrawAndSave.length;j++)
			withdrawAndSave[j]=0.0;
	}
	public int compareID(Account a){
		return ID.compareTo(a.getID());
	}

	public boolean equalsID(Account a){
		return ID.equals(a.ID);
	}
	public double saveMoney(double m){
		withdrawAndSave[index++]=m;
		balance=balance+m;return balance;
	}
	public double getMoney(double m)throws Exception{
		if((balance-m)<0)
			throw new Exception(ID+" card has not enough money in account");
		else{
			withdrawAndSave[index++]=-m;
			balance=balance-m;
		}
		return balance;
	}
	public double cunsumed(double m)throws Exception{
		if((balance+overdraftLimit-m)<0)
			throw new Exception(ID+" card is greater than overdraft limit");
		else{
			withdrawAndSave[index++]=-m;overdraftNum++;
			balance=balance-m;
		}
		return balance;
	}
	public double getBalance(){
		return balance;
	}
	public String getID(){
		return ID;
	}
	public int getOverdraftNum(){
		return overdraftNum;
	}
	public void display(){
		System.out.println(ID+"      "+name);
		double temp=withdrawAndSave[0];
		System.out.println(withdrawAndSave[0]+"         "+temp);
		for(int j=1;j<index;j++){
			temp=withdrawAndSave[j]+temp;
			if(withdrawAndSave[j]>0)
				System.out.println(withdrawAndSave[j]+"         "+temp);
			else
				System.out.println("      "+withdrawAndSave[j]+"  "+temp);
		}
	}
	public void putAccount(PrintWriter pw)throws Exception{
		String s=name+"/"+ID+"/"+balance+"/"+overdraftNum+"/"+overdraftLimit+"/"+index;
		for(int j=0;j<index;j++)
			s=s+"/"+withdrawAndSave[j];
		pw.println(s);
	}
	public void getDetails(String s)throws Exception{
		StringTokenizer t=new StringTokenizer(s,"/");
		name=t.nextToken();
		ID=t.nextToken();
		balance=Double.parseDouble(t.nextToken());
		overdraftNum=Integer.parseInt(t.nextToken());
		overdraftLimit=Double.parseDouble(t.nextToken());
		index=Integer.parseInt(t.nextToken());
		for(int j=0;j<index;j++){
			withdrawAndSave[j]=Double.parseDouble(t.nextToken());
		}
	}
}

class Bank{
	private Vector bankAccount;
	public Bank(){
		bankAccount=new Vector();
	}
	public void addAccount(Account a)throws Exception{
		boolean found=checkID(a);
		if(!found){
			int j=0;boolean posFnd=false;
			while(j<bankAccount.size()&&!posFnd){
				Account ac=(Account)bankAccount.elementAt(j);
				if(a.compareID(ac)>0)
					j++;
				else
					posFnd=true;
			}
			bankAccount.insertElementAt(a,j);
		}else
			throw new Exception(a.getID()+" card is duplicate");
	}
	private boolean checkID(Account a){
		boolean fnd=false;;int j=0;
		Account a1;
		while(j<bankAccount.size()&!fnd){
			a1=(Account)bankAccount.elementAt(j);
			if(a1.equalsID(a))
				fnd=true;
			else
				j++;
		}
		return fnd;
	}
	private Account searchAccount(String idNum){
		Account a1=null;boolean fnd=false;
		for(int j=0;j<bankAccount.size()&&!fnd;j++){
			a1=(Account)bankAccount.elementAt(j);
			if(idNum.equals(a1.getID()))
				fnd=true;
		}
		if(fnd)
			return a1;
		else
			return null;
	}
	public double save(double m,String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null)
			return a.saveMoney(m);
		else
			throw new Exception(idNum+" card is not exist")	;
	}
	public double get(double m,String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null)
			return a.getMoney(m);
		else
			throw new Exception(idNum+" card is not exist")	;
	}
	public double consume(double m,String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null)
			return a.cunsumed(m);
		else
			throw new Exception(idNum+" card is not exist");
	}
	public void deleteAccount(String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null){
			if(a.getBalance()!=0)
				throw new Exception(idNum+" card has balance so can not delete");
			else{
				boolean fnd=false;Account a1=null;
				for(int j=0;j<bankAccount.size()&&!fnd;j++){
					a1=(Account)bankAccount.elementAt(j);
					if(idNum.equals(a1.getID())){
						fnd=true;
						bankAccount.removeElementAt(j);
					}
				}
			}
		}else
			throw new Exception(idNum+" card is not exist");
	}
	public void showIndividualAccount(String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null)
			a.display();
		else
			throw new Exception(idNum+" card is not exist");
	}
	public double statTotalBalance()throws Exception{
		Account a1=null;double d=0.0;
		for(int j=0;j<bankAccount.size();j++){
			a1=(Account)bankAccount.elementAt(j);
			d=d+a1.getBalance();
		}
		return d;
	}
	public int showIndividualOverdraftTime(String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null)
			return a.getOverdraftNum();
		else
			throw new Exception(idNum+" card is not exist");
	}	
	public double checkBalance(String idNum)throws Exception{
		Account a;
		a=searchAccount(idNum);
		if(a!=null)
			return a.getBalance();
		else
			throw new Exception(idNum+" card is not exist");
	}
	public void checkOverdraftAccount(){
		Account a1=null;
		for(int j=0;j<bankAccount.size();j++){
			a1=(Account)bankAccount.elementAt(j);
			if(a1.getBalance()<0)
				a1.display();
		}
	}
	public void showAccount(){
		System.out.println("Account List:");
		Account a1;
		for(int j=0;j<bankAccount.size();j++){
			a1=(Account)bankAccount.elementAt(j);
			a1.display();
		}
		System.out.print("Enter a any character to continue:");
		char c=Keyboard.readChar();
	}
	public void saveAccountBank(File f)throws Exception{
		FileWriter fw=new FileWriter(f);
		PrintWriter fd=new PrintWriter(fw);
		Account a1;
		System.out.println("Save Account......");
		int j=0;
		while(j<bankAccount.size()){
			a1=(Account)bankAccount.elementAt(j);
			a1.putAccount(fd);
			j++;
		}
		fd.close();
	}
	public void loadBankAccount(File f)throws Exception{
		FileReader fr=new FileReader(f);
		BufferedReader fd=new BufferedReader(fr);
		System.out.println("Load Account......");
		String s=fd.readLine();
		while(s!=null){
			Account a1=new Account();
			a1.getDetails(s);
			bankAccount.addElement(a1);
			s=fd.readLine();
		}
		fd.close();
	}	
}

public class ch8ex6{
	public static void main(String[]args){
		Bank bk=new Bank();
		File bankFile=new File("BankAccount.txt");
		boolean con=true;;
		while(con){
			try{
				int opt;
				opt=menu();
				switch (opt){
					case 1:
						Account a1=getDetails();
						bk.addAccount(a1);
						break;
					case 2:
						System.out.print("Enter a ID number: ");
						String n1=Keyboard.readString();
						System.out.print("Enter how much do you save: ");
						double d1=Keyboard.readDouble();
						double db1=bk.save(d1,n1);
						System.out.println("The balance is: "+db1);
						break;
					case 3:
						System.out.print("Enter a ID number: ");
						String n2=Keyboard.readString();
						System.out.print("Enter how much do you need: ");
						double d2=Keyboard.readDouble();
						double db2=bk.get(d2,n2);
						System.out.println("The balance is: "+db2);
						break;
					case 4:
						System.out.print("Enter a ID number: ");
						String n3=Keyboard.readString();
						System.out.print("Enter how much do you get: ");
						double d3=Keyboard.readDouble();
						double db3=bk.consume(d3,n3);
						System.out.println("The balance is: "+db3);
						break;
					case 5:
						System.out.print("Enter a ID number: ");
						String n4=Keyboard.readString();
						bk.deleteAccount(n4);
						break;
					case 6:
						System.out.print("Enter a ID number: ");
						String n5=Keyboard.readString();
						double db4=bk.checkBalance(n5);
						System.out.println(n5+"  the balance is: "+db4);
						break;
					case 7:
						System.out.print("Enter a ID number: ");
						String n6=Keyboard.readString();
						bk.showIndividualAccount(n6);
						break;
					case 8:
						bk.showAccount();
						break;
					case 9:
						System.out.print("Enter a ID number: ");
						String n7=Keyboard.readString();
						int x=bk.showIndividualOverdraftTime(n7);
						System.out.println("The overdraft time is: "+x);
						break;
					case 10:
						bk.checkOverdraftAccount();
						break;
					case 11:
						double db5=bk.statTotalBalance();
						System.out.println("The total of balance is: "+db5);
						break;
					case 12:
						if(!bankFile.exists())
							bankFile.createNewFile();
						bk.saveAccountBank(bankFile);
						break;
					case 13:
						if(!bankFile.exists())
							throw new Exception(" BankAccount.txt file is not exist");
						else
							bk.loadBankAccount(bankFile);
						break;
					case 14:con=false;break;
					default:System.out.println("Invalid input");
				}
			}catch(Exception e){
				System.out.println(e.getMessage());
			}
		}
	}
	static int menu(){
		int cho;
		System.out.println("------------Bank Account Operation Menu------------");
		System.out.println();
		System.out.println("   1:  Add New Account");
		System.out.println("   2:  Save Money");
		System.out.println("   3:  Withdraw Money");
		System.out.println("   4:  Consume");
		System.out.println("   5:  Delete Account");
		System.out.println("   6:  Check Balance");
		System.out.println("   7:  Display Individual Account");
		System.out.println("   8:  Display Total Account");
		System.out.println("   9:  Check Individual Overdraft Time");
		System.out.println("   10: Check Overdraft Account");
		System.out.println("   11: Stat Bank Balance");
		System.out.println("   12: Save Before exit");
		System.out.println("   13: Load Before execute");
		System.out.println("   14: Exit");
		System.out.println("---------------------------------------------------");
		System.out.print("Enter your Choice: ");
		cho=Keyboard.readInt();
		return cho;
	}
	static Account getDetails()throws Exception{
		System.out.print("Name: ");
		String n=Keyboard.readString();
		System.out.print("ID Number: ");
		String idNum=Keyboard.readString();
		System.out.print("Overdraft Limited: ");
		double over=Keyboard.readDouble();
		Account a=new Account(idNum,n,over);
		return a;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区三区四区| 欧美日韩精品专区| 久久先锋资源网| 国产美女主播视频一区| 久久精品人人做人人综合| 国产成人免费xxxxxxxx| 中文字幕一区二区三区在线播放| 99久久免费国产| 亚洲午夜久久久| 精品日韩欧美在线| 成人理论电影网| 亚洲午夜一二三区视频| 日韩视频一区二区三区在线播放| 精品一区二区免费在线观看| 中文字幕精品—区二区四季| 色综合久久综合| 免费观看久久久4p| 中文久久乱码一区二区| 欧美在线三级电影| 久久99国产精品成人| 国产精品久久久久久久久免费相片| 日本高清无吗v一区| 日本v片在线高清不卡在线观看| 精品国产一区二区在线观看| 99久久国产免费看| 日日摸夜夜添夜夜添国产精品| 欧美精品一区二区三区在线| 99国产精品久久久久| 日韩av在线免费观看不卡| 国产无一区二区| 欧美日韩国产首页在线观看| 国产成人亚洲综合a∨猫咪| 亚洲精品你懂的| 久久久噜噜噜久久中文字幕色伊伊 | 一区二区三区四区不卡在线| 日韩一二三区视频| 一本大道久久a久久精品综合| 秋霞电影网一区二区| 中文字幕人成不卡一区| 日韩你懂的在线播放| 91在线视频网址| 久久不见久久见免费视频7| 亚洲人成精品久久久久| 久久嫩草精品久久久精品| 欧美性色黄大片| av午夜精品一区二区三区| 久久国产精品99久久人人澡| 亚洲在线成人精品| 中文字幕不卡的av| 亚洲精品一区二区三区四区高清| 欧美体内she精高潮| 97精品国产97久久久久久久久久久久| 另类小说视频一区二区| 亚洲国产三级在线| 亚洲人成网站色在线观看 | 久久精品人人爽人人爽| 777午夜精品免费视频| 色婷婷av一区| 99在线热播精品免费| 国产一区二区电影| 看电影不卡的网站| 免费成人小视频| 视频一区二区三区在线| 亚洲成人第一页| 亚洲国产日韩综合久久精品| 亚洲日本中文字幕区| 中文字幕亚洲区| 国产精品盗摄一区二区三区| 国产精品免费视频网站| 久久久国产精华| 国产清纯白嫩初高生在线观看91| 精品国产一区二区精华| 日韩午夜小视频| 欧美一级理论片| 日韩欧美的一区二区| 日韩欧美在线综合网| 日韩欧美综合在线| 精品久久久久久亚洲综合网| 日韩免费电影一区| 精品三级av在线| 国产欧美一区二区三区鸳鸯浴 | 国产精品1024| 国产mv日韩mv欧美| 不卡的av电影在线观看| 不卡一区二区中文字幕| 成人av网站免费观看| 色综合久久综合| 欧美日韩一区二区在线观看| 91麻豆精品91久久久久同性| 日韩视频在线永久播放| 久久久久久久久久久99999| 欧美激情综合在线| 中文字幕日韩精品一区| 亚洲综合999| 麻豆成人91精品二区三区| 国产美女主播视频一区| 91免费观看国产| 91精品国产91久久久久久一区二区 | 欧美精品一区二区高清在线观看| 欧美精品一区二区三区久久久| 久久亚洲私人国产精品va媚药| 国产亚洲综合在线| 日韩一区在线免费观看| 亚洲成人免费视频| 久久精品国产亚洲a| 成人激情综合网站| 欧美日韩精品三区| 久久日一线二线三线suv| 1000部国产精品成人观看| 午夜欧美视频在线观看| 精品一二三四区| 99久久精品免费看国产免费软件| 欧美三级中文字幕在线观看| 精品国产91九色蝌蚪| 亚洲日本乱码在线观看| 免费成人美女在线观看| 99精品国产99久久久久久白柏| 欧美少妇性性性| 国产网站一区二区| 污片在线观看一区二区| 丁香婷婷综合色啪| 91麻豆精品国产91| 一色屋精品亚洲香蕉网站| 奇米精品一区二区三区四区| 91亚洲精品一区二区乱码| 精品国产sm最大网站免费看| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲精品日韩专区silk| 久久国产麻豆精品| 91成人免费在线| 中文字幕欧美激情| 免费观看成人鲁鲁鲁鲁鲁视频| av一区二区三区| 精品国产乱码久久久久久浪潮 | 国产亚洲综合av| 日韩中文字幕av电影| 一本久道中文字幕精品亚洲嫩| 日韩欧美成人午夜| 亚洲第一在线综合网站| av影院午夜一区| 免费成人在线播放| 色网综合在线观看| 国产精品热久久久久夜色精品三区| 日韩激情av在线| 欧洲一区在线电影| 中文字幕在线一区| 高清不卡一区二区| 2021国产精品久久精品| 毛片av一区二区| 宅男在线国产精品| 无码av免费一区二区三区试看| 色素色在线综合| 亚洲靠逼com| 91蝌蚪porny| 亚洲男同性恋视频| 97成人超碰视| 亚洲欧美激情视频在线观看一区二区三区 | 欧美日韩亚洲综合在线| 国产偷v国产偷v亚洲高清| 日韩av电影免费观看高清完整版 | 久久这里只有精品6| 免费成人你懂的| 日韩一区二区在线免费观看| 五月婷婷激情综合网| 亚洲乱码国产乱码精品精可以看| 成人国产一区二区三区精品| 国产亚洲女人久久久久毛片| 国产一区二区精品久久99| 久久亚洲影视婷婷| 国产高清亚洲一区| 欧美极品少妇xxxxⅹ高跟鞋 | 91亚洲大成网污www| 中文字幕一区二区三区精华液| 成人性生交大片免费看在线播放 | 中文字幕中文在线不卡住| 不卡在线视频中文字幕| 综合av第一页| 91福利区一区二区三区| 午夜精品久久久久久| 91精品国产综合久久久蜜臀图片| 蜜桃精品在线观看| 久久久国产精品不卡| 波多野结衣中文字幕一区二区三区 | 蜜臀99久久精品久久久久久软件 | 国产亚洲一二三区| 成人sese在线| 亚洲一区二区视频在线| 欧美一区二区三区喷汁尤物| 韩日精品视频一区| 自拍偷拍国产精品| 在线观看91精品国产入口| 日韩在线观看一区二区| 久久综合狠狠综合| 99久久精品免费看国产 | 中文字幕在线不卡| 欧美日韩一区二区电影| 精品在线观看免费| 国产精品国产三级国产有无不卡| 欧美午夜宅男影院| 黄色日韩网站视频|