2 qq 34534615 qq_34534615 于 2016.04.04 23:27 提问

java 新手求助,老师让做个课程表

建一个课程表。 星期四;三,四节;计算与软件工程;仙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;




}

}
}

9个回答

CSDNXIAOD
CSDNXIAOD   2016.04.04 23:31

新手求助
新手求助!!!
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq_26431469
qq_26431469   2016.04.05 13:57

没有特别理解你的意思

first163
first163   2016.04.06 23:00

为何不使用数据库做为持久化?使用数据库编码量会少很多

devmiao
devmiao   Ds   Rxr 2016.04.04 23:41
qq_31959513
qq_31959513   2016.04.05 00:47

朋友 你的怎么用手机打出来的 这么多不会拿手机键盘一个一个打的吧 我学习java才几天 别笑话哦

fanyunda1988
fanyunda1988   2016.04.05 09:20

上面是机器人小D回答的!!!

Tendency_Yang
Tendency_Yang   2016.04.06 10:22

表示不太了解您的需求

ljheee
ljheee   Rxr 2016.04.06 21:28

是要---实现动态 增删改查 课表吗?

boy_jerry
boy_jerry   2016.04.07 19:49

你的问题是什么呢。。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!