明天开始讲JDBC了,那今天呢?
来源:互联网 发布:帕特里克帕特森nba数据 编辑:程序博客网 时间:2024/04/29 13:08
今天?今天我也在学习啊!就那个就什么来着,好像叫爪哇什么的,是爪哇,不对,好像是JAVA,对了,就是它,这家伙好啊,偶喜欢啊,偶的最爱啊!JAVA核心学完了,一个课程项目也做完了《门禁系统面向对象设计》感觉对爪哇的某些东东还是没学好,那个java.io里的东东和.NET中的不一样啊!如是就来写个MyShell,就是文件的一些操作了,那也是一时的灵感啊!也就2009-10-10晚上的事了,花我不少的时间啊!到零晨2点多啊,大体的形状也就搞出来了,通过这两个小项目,让我对面向对象有了不少的体会啊!由其是那个多态,大家 来看看我这个多态,多多给我建议啊!
public class MyShell implements Shell{
/** 命令提示符 */
private String tip ;
public MyShell()
{
tip = "胡浩>>";
}
public MyShell(String tip)
{
this.tip=tip;
}
/**************************
* 启动 Shell, 不同的Shell 的命令提示符可以不同,可以提供设置
* @return
*/
public int startShell() {
//输出欢迎字符
System.out.println("************欢迎使用 MyShell/t/t/t/t");
System.out.println("************本Shell目前只支持文件列举ls,文件删除del,和文件拷贝cp命令/t/t/t/t");
System.out.println("************作者:胡浩 /t/t/t/t");
System.out.println("************版本:V1.1 Bate1.0 /t/t/t/t");
System.out.println("************描述:免费软件(Free Software) 你可以无限传播与反编译/t/t/t/t");
System.out.println("************请在提示符后输入命令/t/t/t/t");
System.out.println();
//开始接受用户输入
String cmd = "";
Scanner scan = new Scanner(System.in);
CommandHandler ch = null;
try {
while(true) {
System.out.print(this.tip);
cmd = scan.nextLine();
if(cmd.trim().length() == 0) {
continue;
}
if(cmd.trim().startsWith("ls") || cmd.trim().startsWith("LS")) {
ch = new Ls_Command();
ch.excuCommand(cmd);
} else if(cmd.trim().startsWith("cp") || cmd.trim().startsWith("CP")) {
ch = new Copy_Command();
ch.excuCommand(cmd);
}else if(cmd.trim().startsWith("del")||cmd.trim().startsWith("DEL")){
ch=new Delet_Command();
ch.excuCommand(cmd);
}else if(cmd.trim().startsWith("md")||cmd.trim().startsWith("MD")||cmd.trim().startsWith("MKDIR")||cmd.trim().startsWith("mkdir")){
ch=new CreatDir_Command();
ch.excuCommand(cmd);
}else if(cmd.trim().equalsIgnoreCase("help")){
Help.printHelp();
}else if(cmd.trim().equalsIgnoreCase("exit")) {
System.out.println("谢谢使用,Shell程序退出, Bye.");
System.exit(0);
} else {
System.out.println("对不起,此命令暂不支持");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
@Override
public String getPrompt() {
return this.tip;
}
@Override
public void setPrompt(String tip) {
this.tip = tip;
}
}
也就这里用了多态了!
但有一点有问题啊!
String pattern1 = "([Mm][Dd]) [a-zA-Z]?(:)?([/////]*[0-9a-zA-Z]*";
String pattern2="([Mm][Kk][Dd][Ii][Rr]) [a-zA-Z]?(:)?([/////]*[0-9a-zA-Z]*";
这两个字符串我是用来判断输入的是否为((md or MD) or ( mkdir MKDIR))用来创建目录的
结果抛这处了
java.util.regex.PatternSyntaxException: Unclosed group near index 43
([Mm][Dd]) [a-zA-Z]?(:)?([///]*[0-9a-zA-Z]*
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.accept(Unknown Source)
at java.util.regex.Pattern.group0(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.matches(Unknown Source)
at java.lang.String.matches(Unknown Source)
at com.sodi.huhao.create.CreatDir_Command.excuCommand(CreatDir_Command.java:28)
at com.sodi.huhao.kernel.MyShell.startShell(MyShell.java:71)
at com.sodi.huhao.test.ShellTest.main(ShellTest.java:21)
高手们啊帮帮我吧!我在这里谢谢了!
- 明天开始讲JDBC了,那今天呢?
- 今天开始春运了呢
- 今天太晚了 明天开始写
- 今天找到了工作明天开始努力工作
- 若昨天是明天,今天就是周五了。那今天是周几?
- 今天开始认真学习~明天计划
- 明天开始上班了!
- 明天开始上班了!
- 明天开始GRE了...
- 明天两会开始了
- 明天开始跳绳了
- 明天开始上班了
- 明天开始上班了。
- 如果明天永远不来—可是今天我又做了什么呢?
- 今天来了明天换来不?
- 今天终于把字串整理的程序完成了,明天开始清明节放假咯
- 明天开始正常工作了
- 明天开始要上班了.
- 塔木德遗产分配问题
- JDK,JRE,JVM
- 微内核流程引擎(IVR导航)的设计与实现——总体思路
- C#杀死数据库死链接
- 怎样省钱
- 明天开始讲JDBC了,那今天呢?
- tomcat6.x 虚拟目录
- gcc 使用静态库文件 链接库文件 .a makefile .so
- pku 2914
- JDK环境变量
- Tomcat设置环境变量
- systemrescuecd使用指南-1
- 系分论文之一
- JAVA数据库