qq_34534615 2016-04-04 15:27 采纳率: 0%
浏览 3019

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;




}

}
}

  • 写回答

8条回答

  • devmiao 2016-04-04 15:41
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题