编写一个模拟日记本的程序,通过在控制台输入指令,实现在本地新建日记本、打开日记本和修改日记本等功能。
(1) 用户输入指令1代表“新建日记本”,从控制台获取用户输入的日记内容。
(2) 指令2代表“打开日记本”,读取指定路径的txt文件的内容并输出到控制台。
(3) 指令3代表“修改日记本”,修改日记时,既可以修改新建日记本的内容,也可以修改已打开日记本的内容。
(4) 指令4代表“保存”,如果是新建的日记本需要保存,则将日记本保存到用户输入的路径;如果是打开的日记本需要保存,则将原来内容覆盖;
(5) 指令5代表“退出”,即退出本系统。
综合考验对于Java语言理解,while循环,if循环,swith选择,调用方法,创建新对象,输入输出语句,stringbuilder容器,try,catch捕捉异常,io流,file中的读和写,system的用法。同时程序无论怎样输入都不报错,在真实的场景中也可以避免用户的数据丢失。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import static java.lang.System.exit;
public class NO5 {
//new一个Scanner,用static修饰后可被所有方法调用,提高代码的简洁性
static Scanner in = new Scanner(System.in);
//用StringBuilder当做容器来装字符串,在单线程在比StringBuffer更加快捷
static StringBuilder stringBuilder1 = new StringBuilder();
static StringBuilder stringBuilder2 = new StringBuilder();
//定义一个str路径,被static修饰后可以被所有方法调用,提高代码的简洁性
static String str;//打开的路径
//定义open的打开状态,避免没有打开日记本的情况下修改日记本报错
static int open_result = 0;
//定义new的打开状态,避免没有新建日记本的情况下修改日记本报错
static int new_result = 0;
//主线程main方法中尽量减少代码,提高程序运行的速度
public static void main(String[] args) {
while (true) {
Menu1();
try {
Operate1();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
//循环菜单进行选择
public static void Menu1() {
System.out.println("南阳理工计软实验日记本系统");
System.out.println("指令1代表“新建日记本”,为您输入的日记内容");
System.out.println("指令2代表“打开日记本”,读取指定路径的txt文件的内容并输出到控制台");
System.out.println("指令3代表“修改日记本”,修改日记时,既可以修改新建日记本的内容,也可以修改已打开日记本的内容");
System.out.println("指令4代表“保存”,如果是新建的日记本需要保存,则将日记本保存到您输入的路径;如果是打开的日记本需要保存,则将原来内容覆盖 ");
System.out.println("指令5代表“退出”,即退出本系统");
}
public static void Operate1() throws Exception {
System.out.print("请输入您的指令:");
int Operate1_ = in.nextInt();
switch (Operate1_) {
case 1 -> New();
case 2 -> Open();
case 3 -> Alter();
case 4 -> Save();
case 5 -> exit(0);
default -> System.out.println("请输入正确的指令1-5");
}
}
public static void New() {
new_result++;
System.out.print("请输入内容:");
stringBuilder1 = new StringBuilder(in.next());
System.out.println("您输入的内容为:" + stringBuilder1);
System.out.println("新建成功");
}
public static void Open() throws Exception {
open_result++;
System.out.print(