Java编写一个记事本小程序,实现录入记录的事件,用数据文件的方式保存每天的事情安排,实现按天查询并显示记事列表的功能,数据保存用文本文件实现
时间: 2023-08-31 21:28:23 浏览: 113
Java程序编写的记事本
### 回答1:
这是一个简单的记事本程序的示例,实现了录入、保存和查询功能:
```
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class Notebook {
// 记事本数据文件的路径
private static final String DATA_FILE_PATH = "notebook.txt";
public static void main(String[] args) throws IOException {
// 创建 Scanner 对象,用于读取用户输入
Scanner scanner = new Scanner(System.in);
while (true) {
// 显示菜单
System.out.println("1. 录入事件");
System.out.println("2. 查询事件");
System.out.println("3. 退出程序");
System.out.print("请输入选项:");
// 读取用户输入的选项
int option = scanner.nextInt();
// 根据选项执行相应的操作
switch (option) {
case 1:
// 录入事件
inputEvent(scanner);
break;
case 2:
// 查询事件
queryEvent(scanner);
break;
case 3:
// 退出程序
return;
default:
System.out.println("无效的选项,请重新输入。");
}
}
}
// 录入事件
private static void inputEvent(Scanner scanner) throws IOException {
// 读取用户输入的日期
System.out.print("请输入日期(格式:yyyy-MM-dd):");
String dateString = scanner.next();
// 读取用户输入的事件内容
System.out.print("请输入事件内容:");
scanner.nextLine(); // 把回车读进来
String event = scanner
### 回答2:
实现这个记事本小程序的主要步骤如下:
1. 首先,我们需要创建一个Java工程,并在其中创建一个名为"Notebook"的类。
2. 在"Notebook"类中,我们可以定义一个用于保存每天事情安排的数据结构,例如一个List对象,该对象的每个元素是一个字符串,表示当天的一条记录事件。
3. 实现录入记录的事件功能。可以在控制台上提示用户输入当天的记录事件,并将用户输入的内容添加到List对象中。
4. 保存记录的事件。可以将List对象中的内容写入一个文本文件中,以便后续查询使用。使用Java的FileWriter和BufferedWriter类来实现文件写入操作。
5. 实现按天查询并显示记事列表的功能。用户可以输入日期来查询该日期的记事列表。读取事先保存的文本文件内容,解析其中的日期和记录事件,并将符合查询条件的记录展示在控制台上。
需要注意的是,文本文件的格式可以自定义,例如每行用时间戳表示日期,后面跟着冒号和记录事件的内容。对于查询功能,可以逐行读取文本文件的内容,使用正则表达式匹配日期,找到符合查询条件的记录。
同时,需要在程序中处理异常情况,例如用户输入错误日期格式或者找不到对应的文件等等。
以上是一个简单记事本小程序的基本实现思路,具体的实现细节可以根据自己的需求进行调整和优化。根据这个思路编写代码,即可实现一个基本的记事本小程序。
### 回答3:
Java编写记事本小程序如下:
首先,创建一个名为Note的类,该类包含日期和事件描述两个属性,并提供相应的get和set方法。
```
public class Note {
private String date;
private String description;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
```
然后,创建一个名为NotePad的类,该类实现记事本的主要功能。
```
import java.io.*;
public class NotePad {
private File dataFile; // 存储数据的文件
public NotePad(String filePath) {
dataFile = new File(filePath);
}
public void addRecord(Note note) {
try (FileWriter writer = new FileWriter(dataFile, true)) {
writer.write(note.getDate() + ";" + note.getDescription() + "\n");
} catch (IOException e) {
e.printStackTrace();
}
}
public void searchRecords(String date) {
try (BufferedReader reader = new BufferedReader(new FileReader(dataFile))) {
String line;
while ((line = reader.readLine()) != null) {
String[] record = line.split(";");
if (record[0].equals(date)) {
System.out.println(record[1]);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
最后,编写一个名为Main的类,该类作为程序的入口。
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
NotePad notePad = new NotePad("data.txt");
Scanner scanner = new Scanner(System.in);
String input;
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加记录");
System.out.println("2. 按天查询记录");
System.out.println("3. 退出");
input = scanner.nextLine();
if (input.equals("1")) {
System.out.println("请输入日期(格式:yyyy-MM-dd):");
String date = scanner.nextLine();
System.out.println("请输入事件描述:");
String description = scanner.nextLine();
Note note = new Note();
note.setDate(date);
note.setDescription(description);
notePad.addRecord(note);
} else if (input.equals("2")) {
System.out.println("请输入日期(格式:yyyy-MM-dd):");
String date = scanner.nextLine();
notePad.searchRecords(date);
} else if (input.equals("3")) {
break;
} else {
System.out.println("输入有误,请重新选择操作。");
}
}
}
}
```
使用此程序,用户可以选择添加记录、查询记录或退出程序。添加的记录会保存到名为data.txt的文本文件中,查询时会按照指定日期进行筛选并显示记录列表。
阅读全文