建一个课程表。 星期四;三,四节;计算与软件工程;仙2-407; 通过命令行方式完成对课程的增、删、改、查、显示。 Add 星期四;三,四节;计算与软件工程;仙2-407;//如果成功 显示“已添加到文件中” Remove 星期四;三,四节;计算与软件工程;仙2-407;//如果成功 显示“已从文件删除” Update 星期四;三,四节;计算与软件工程;仙2-408;//如果成功 显示“已更新文件” Find 星期四;三,四节; //如存在课程 显示 “课程名;上课地点” Show //显示所有课程,按照时间排序 数据保存在文件里。 CurriculumSchedule.txt Deadline:4月6日 23:59:59 提交源代码和运行截图
以上是作业要求
我尝试着写了一段但感觉始终无法实现。求指点
package h07;
import java.io.*;
public class syllabus {
public static class course{
int x,y;
String date=null;
String time=null;
String name=null;
String location=null;
public void setdate(String date){
this.date=date;
}
public void settime(String time){
this.time=time;
}
public String getname(String name){
return name;
}
public void setname(String name){
this.name=name;
}
public void setlocation(String location){
this.location=location;
}
public course(String name,String location,String date,String time){
this.time=time;
this.name=name;
this.location=location;
this.date=date;
}
public void show(){
System.out.println(this.date+this.time+this.name+this.location);
}
public void find(){
}
}
course[] cour=new course[10];
public void add(){
String a=null;
try{
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
a=b.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[]c=a.split("[ ;]");
String command=c[0];
String date=c[1];
String time=c[2];
String name=c[3];
String location=c[4];
for(int i=0;i<=10;i++){
if(cour[i]==null){
cour[i]=new course(name,location,date,time);
System.out.println("已添加");
break;}
else
System.out.println("已存在,无法添加");
}
}
public void update(){
String a=null;
try{
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
a=b.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[]c=a.split("[ ;]");
String command=c[0];
String date=c[1];
String time=c[2];
String name=c[3];
String location=c[4];
for(int i=0;i<=10;i++){
if(cour[i].date.equals(date)&&cour[i].time.equals(time)){
cour[i]=new course(name,location,date,time);
System.out.println("已更新");
}
}
}
public void remove(){
String a=null;
try{
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
a=b.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[]c=a.split("[ ;]");
String command=c[0];
String date=c[1];
String time=c[2];
String name=c[3];
String location=c[4];
for(int i=0;i<=9;i++){
if(cour[i].date.equals(date)&&cour[i].time.equals(time)){
cour[i]=new course(null,null,null,null);
System.out.println("已删除");
break;
}
else
System.out.println("信息为空,无法删除");
}
}
public void find(){
String a=null;
try{
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
a=b.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[]c=a.split("[ ;]");
String command=c[0];
String date=c[1];
String time=c[2];
String name=c[3];
String location=c[4];
for(int i=0;i<=9;i++){
if(cour[i].date.equals(date)&&cour[i].time.equals(time)){
System.out.println(cour[i].name+cour[i].location);
break;
}
}
}
public void save(){
try{
File f=new File("/Users/zwk/desktop/CurriculumSchedule.text");
f.createNewFile();
FileWriter e=new FileWriter("CurriculumSchedule.text");
BufferedWriter r=new BufferedWriter(e);
for(int i=0;i<=9;i++){
String kk=cour[i].date+cour[i].time+cour[i].name+cour[i].location+"\n";
r.write(kk);
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[]args){
syllabus syll=new syllabus();
syll.f();
}
public void f(){
String a=null;
try{
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
a=b.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[]c=a.split("[ ;]");
String command=c[0];
String date=c[1];
String time=c[2];
String name=c[3];
String location=c[4];
System.out.println("请再输入一遍以确认");
switch (command){
case "Add":
add();
save();
break;
case "Remove":
remove();
save();
break;
case "Update":
update();
save();
break;
case "Find":
find();
break;
case "Show":
for(int o=0;o<=9;o++){
cour[o].show();}
break;
}
}
}