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

📄 booknamemodify.java

📁 JAVA SYSTEM hen jian dan hen jiantlpi
💻 JAVA
字号:
import java.util.*;//导入util包
import java.io.*;//导入IO包
class BookNameModify
{
//功能:在程序中首先要求用户输入修改前的书名,对书名进行检查,显示这本是否存在。如果不存在,显示没有这本书并退出程序。如果存在,要求用户输入修改后的书名,显示修改是否成功。从文件中读入图书信息要用到类FileReader。读入一个字符后需要立即存放到一个字符串中,需要用到StringBuffer类的append方法。
//改进:如果书本的信息用行分隔符分开,则可用BufferReader的readLine方法,程序要简单和优雅得多。
//如何实现模糊查询
	 public static void main(String args[])throws Exception
	{
		 System.out.print("请输入修改前的书名:");	//显示“请输入修改前的书名:”
		 Scanner sc=new Scanner(System.in);				//新建Scanner实例,从键盘输入
		 String bookName=sc.next();						//接受用户输入的书名,并赋值给一个字符串变量bookName

		 System.out.print("请输入修改后的书名:");	//显示“请输入修改后的书名:”
		 String bookName2=sc.next();					//接受用户输入的书名,并赋值给一个字符串变量bookName2

		 FileReader fr=new FileReader("books.txt");		//新建FileReader的实例fr,文件名books.txt,以便从文件中读入书本信息
		 StringBuffer books[]=new StringBuffer[10];

		int aChar;										//定义一个int变量aChar
		int index=0;									//定义一个int变量index,作为数组元素的索引,并赋值为0
		char Char;
		books[index]=new StringBuffer();				//新建一个StringBuffer实例,赋给books[index]
		 while((aChar=fr.read()) != -1)					//while循环,从fr中读入一个字符,赋值给aChar,并判断是否为-1,是则结束循环
		{
			Char=(char)aChar;							//将aChar转换为整型
			if(Char==';')
			{
				index++;
				books[index]=new StringBuffer();
			}											// 判断是否为aChar的值是否为“;”,如果是:index的值+1,新建一个StringBuffer实例,赋给															books[index],进入下次循环
			else	
				books[index].append(Char);				//将aChar添加到books[index]中
		}
		fr.close();										//关闭fr


		FileWriter fw=new FileWriter("books.txt");		//新建FileWriter的实例fw,文件名books.txt,以便将书本信息写入到文件中
		
		String BookNameT;
		String bookDateT="";
		boolean bol=false;

		for(int i=0;i<books.length;i++)							//for 循环,遍历books数组
		{
			if(books[i]==null)
				break;									//如果数组元素为空,结束循环
			String tmpStr=new String(books[i]);			//新建一个字符串实例tempStr,其值为数据元素
			
			String[] book = tmpStr.split(",");
			
			if(bookName.equals(book[0]))
				{   
				fw.write(bookName2+",");			
				System.out.print("请输入借书日期:");
				bookDateT=sc.next();
				fw.write(bookDateT+";");				
					bol=true;

				}
			else
				{
				//System.out.println(books[i]);
				fw.write(books[i].toString()+";");
				}
		}												//检查书名是否为bookName,如果是写入修改后的书名bookName2和借书日期到文件中,不是则原样写入文件中


		if(bol)
		{
			System.out.println("*****修改成功!*****");
			System.out.println("修改后的书名:"+bookName2+"/"+"修改后的日期:"+bookDateT);
		}
		else 
			System.out.println("没有找到!");			//根据情况显示结果,没找到bookName则显示没有找到,修改成功则显示书名已修改
		fw.close();										//关闭fw*/
	}
}

⌨️ 快捷键说明

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