问题描述
- 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+" "; 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; }
}
}
解决方案
解决方案二:
没有特别理解你的意思
解决方案三:
为何不使用数据库做为持久化?使用数据库编码量会少很多
解决方案四:
http://download.csdn.net/detail/Ltao5461218/2575985
解决方案五:
朋友 你的怎么用手机打出来的 这么多不会拿手机键盘一个一个打的吧 我学习java才几天 别笑话哦
解决方案六:
上面是机器人小D回答的!!!
解决方案七:
表示不太了解您的需求
解决方案八:
是要---实现动态 增删改查 课表吗?
解决方案九:
你的问题是什么呢。。。。
时间: 2024-12-28 10:30:46