⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bank.java

📁 Account.java 主要用于用户的增删改数据(用户名+帐户余额)存于E盘accountdata.txt文件中 Bank.java 主要用于用户的增删改数据(用户名+卡号+密码)存于E盘bank
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		}else{
			try {
				f.createNewFile();
				this.viewOneAccount();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
			
	}
	
	
	
	protected void deleteAllAccount()//删除所有账户数据的方法
	{
		File f=new File("E:/bankdata.txt");//创建File实例
		if(f.exists())
		{
			try {
				PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter(f)));
				BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
				pw.write("");//向bank.txt中写入一个空字符串即可
				pw.close();
				
			System.out.println("所有帐户已成功删除!");
			System.out.println("\n按回车键继续....");
			br.read();
			AtmBank atm=new AtmBank();
			atm.manageMenu2_2();
			pw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}else{
			try {
				f.createNewFile();
				this.deleteAllAccount();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
	}
	
	
	protected void clearData(){//清除所有数据,写这个方法为了删除唯一帐户用到的
		File f=new File("E:/bankdata.txt");//创建File实例
		if(f.exists())
		{
			try {
				PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter(f)));
				BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
				pw.write("");//向bank.txt中写入一个空字符串即可
				pw.close();

			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	
	
	protected void deleteOneAccount()//删除唯一账户信息
	{
		String allstr="";//文件中所有的字符串放在allstr里
		String searchstr1="";//找到该姓名数据的行
		String replacestr=""; //删除数据行后的所有字符串放在replacestr里
		
		boolean flag=false;
		
		File f=new File("E:/bankdata.txt");
		
		if(f.exists())
		{
			try{
			
			BufferedReader br=new BufferedReader(new FileReader(f));
			BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
			RandomAccessFile raf=new RandomAccessFile(f,"rw");
			
			
			System.out.println("请输入你要删除账户的姓名:");
			String str=br.readLine();
			String searchstr=br1.readLine();
			
			
			while(str!=null){
				String[] info=str.split("\n");			
				
				
				for(int i=0;i<info.length;i++)
				{
					if(info[i].indexOf(searchstr)!=-1){//若字符串中包含要删除的姓名
					
						searchstr1=info[i];
						flag=true;
						System.out.println("帐户已成功删除");
						}
					
					allstr+=info[i]+"\n";
				}
				
				str=br.readLine();				
				}
			if(flag==false){
				System.out.println("没有这个帐户!");
			}
			
			replacestr=allstr.replaceFirst(searchstr1, "");//把要删除的字符串置为空即可		
			//System.out.println(replacestr);			
			this.clearData();
			raf.writeBytes(replacestr+"\n");			
			System.out.println("\n按回车键继续....");
			br1.read();
			AtmBank atm=new AtmBank();
			atm.manageMenu2_2();	
		br.close();
		}catch(Exception e){
			e.printStackTrace();
		}
			
		}else{
			try {
				f.createNewFile();
				this.deleteOneAccount();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}		
	}
}

	
protected void changeAccount(){//修改账户信息.........本人认为这里最难....特别是逻辑上的顺序和修改卡号和修改密码~!
		String searchstr1="";//要修改的整个行数据
		String allstr="";//文件中读出的全部字符串,注意这里不能为null
		String replacenamestr="";//修改后的全部字符串(修改姓名的)
		String replacecardstr="";//修改后的全部字符串(修改卡号的)
		String replacepasswordstr="";//修改后的全部字符串(修改密码的)
		String namestr="";//修改后姓名
		String cardstr="";//修改后的卡号
		String passwordstr="";//修改后的密码
		String str1="";//去掉姓名后的字符串
		String str2="";//去掉姓名和卡号的字符串,即密码
		String str3="";//得到姓名和卡号的字符串
		int len=0;
		int len1=0;
		boolean flag=false;
		
		AtmBank atm=new AtmBank();
		
		File f=new File("E:/bankdata.txt");
		if(f.exists()){
			try{				
				BufferedReader br=new BufferedReader(new FileReader(f));
				BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
				RandomAccessFile raf=new RandomAccessFile(f,"rw");				
				System.out.println("请输入你要修改帐号的姓名:");
				String changestr=br1.readLine();				
				String str=br.readLine();
				while(str!=null){
					String[] info=str.split("\n");			
					
					
					for(int i=0;i<info.length;i++)
					{
						if(info[i].indexOf(changestr)!=-1){							
							searchstr1=info[i];
							flag=true;							
							}
						
						allstr+=info[i]+"\n";
					}					
					str=br.readLine();				
					}
				if(flag==false){
					System.out.println("没有这个帐户");
				}else{
					System.out.println("帐户存在!");
					System.out.println("按回车键继续......");
					br1.readLine();
					
					System.out.println("################################");
					System.out.println("-------中国农业银行 银行管理端---------");
					System.out.println("-------1,修改姓名-----------");
					System.out.println("-------2,修改卡号-----------");		
					System.out.println("-------3,修改密码-----------");
					System.out.println("-------4,返回-----------");
					System.out.println("################################");
					System.out.println("请输入你的选择:");
					try{
						String numstr=br1.readLine();
						int num=Integer.parseInt(numstr);
						switch(num)
						{
						case 1:				
							System.out.println("请修改姓名:");
							namestr=br1.readLine();
							replacenamestr=allstr.replaceFirst(searchstr1, searchstr1.replaceFirst(changestr, namestr));
							this.clearData();
							raf.writeBytes(replacenamestr);
							System.out.println("帐户已成功修改!");
							break;
						case 2:								
							System.out.println("请修改卡号:");
							cardstr=br1.readLine();
							len=changestr.length();
							str1=searchstr1.substring(len);
							//System.out.println(str1);
							len1=(changestr+"\t\t"+cardstr).length();
							str2=searchstr1.substring(len1);
							replacecardstr=allstr.replaceFirst(searchstr1, changestr+"\t\t"+cardstr+"\t\t"+str2);
							this.clearData();
							raf.writeBytes(replacecardstr);
							System.out.println("帐户已成功修改!");
							break;
						case 3:
							System.out.println("请修改密码:");
							passwordstr=br1.readLine();
							len=changestr.length()+1;//1是制表符占一个字符
							str3=searchstr1.substring(0,len+4);//向前找四个字符(但愿不要遇到密码字符)
							replacepasswordstr=allstr.replaceFirst(searchstr1,str3+"\t"+passwordstr);
							this.clearData();
							raf.writeBytes(replacepasswordstr);
							System.out.println("帐户已成功修改!");
							break;
						case 4:
							//AtmBank atm=new AtmBank();
							atm.manageMenu2();
							break;
						default:
							System.out.println("选择错误.请重新选择!");
							System.out.println("按回车键继续.......");
							br1.read();
							this.changeAccount();
						}
						br.close();
					}catch(Exception e){
						System.out.println("您输入的不是数字,请重新输入!");
						System.out.println("按回车键继续.......");
						br1.read();
						this.changeAccount();
					}

				}
			
				System.out.println("\n按回车键继续....");
				br1.read();
				//AtmBank atm=new AtmBank();
				atm.manageMenu2();				
				
			}catch(Exception e){
				e.printStackTrace();
			}
		}else{
			try {
				f.createNewFile();
				this.changeAccount();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}			
		}
	}

}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -