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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
sql面试题 学生表, 课程表,成绩表,教师表
Student(Sid,Sname,Sage,Ssex) 学生表 Course(Cid,Cname,Tid) 课程表 SC(Sid,Cid,score) 成绩表 Teacher(Tid,Tname) 教师表  1、查询“001”课程比“002”课程成绩高的所有学生的学号;    select sid,score from sc where cid='001';    selec
Java-课程表
package kcb;import java.awt.Frame;import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable;public class KCB { public static void main(String[] args) { JFrame fram
课表网页制作
自己制作的一个课表,用的是html,小菜鸟作品,还望大家笑纳.
asp.net动态生成table课表
#region 生成课表         ///         /// 生成课表         ///         /// 每天上午或下午的节数         /// 每周上课的天数         /// 每天从第几节开始生成课表         /
可以实现班级及任课教师课表打印
excel可以实现班级课表及任课教师课表打印
mysql语句查询学生表、老师、课程表
http://wenku.baidu.com/view/ee760328453610661ed9f45e.html
JSP基础实例_Java动态实现课程表_学习笔记
classTable.jsp 课程表     String[] head = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};   String[] left = {"上午","下午","晚上"};   String classInfo[][] = {   {"语文","化学","生物","物理","科学","政治","历史"}
sql面试题- (学生表_课程表_成绩表_教师表)
1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student left Outer join SC on Student.S#=SC.S# group by Student.S#,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select Student.S#,Student.Sname from Student where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平');
学生表/课程表/教师表/成绩表-多表查
Student(S#,Sname,Sage,Ssex) 学生表    S#--学生编号,Sname--学生姓名,                                                                   Sage--学生年龄,Ssex--学生性别 Course(C#,Cname,T#) 课程表                   C#--课程编号,
学生表 课程表 成绩表 教师表常用SQL语句
学生表 课程表 成绩表 教师表 50个常用sql语句建表Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表---- If database exists the same name datatable deletes it. IF EXISTS(SEL