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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题