运行是出错!NoClassDefFoundError,请大家帮忙!

goflyboy0451 2003-10-16 10:26:46

我的程序编译通过了,但是运行是总出现这样的错误(我感觉是构造函数出错,但是不知道怎么改),请大家帮帮忙!

Exception in thread "main" java.lang.NoClassDefFoundError: dic

我的程序如下:
package assignment.ir;
import java.io.*;
import java.util.*;
import assignment.ir.*;

public class Dict {
private LinkedList dictinary;

{dictinary=new LinkedList(); } //字典容器
Dict() {
try{
BufferedReader in1 =
new BufferedReader(
new FileReader("dictionary.txt"));//可加文件检查,
//字典已排好序(按字典序)
String s= new String();
while((s = in1.readLine())!= null)
{ //System.out.println(s+" size="+s.length());
dictinary.add(s);
}

in1.close();

}

catch(IOException e){ System.out.println("dictinary file cann't open!");}

}

public String getWord(char c){
char temp[]={c};
String ss=new String(temp);//?have another mether to
//convert a char to a string?

int size=dictinary.indexOf(ss.toUpperCase());//我想这个c应该是字母了
return (String)dictinary.get(size+1);

}

public String getNextWord(String s){
int dsize=dictinary.size();
int ssize=dictinary.indexOf(s);
if(ssize==-1 || ssize==(dsize-1))
return (String)dictinary.get(0);//如果已经到字典么为,
//或单词不再词典中,返回第一个单词!
return (String)dictinary.get(ssize+1);
}
public static void main(String[] args){
Dict ss=new Dict();
// System.out.println(ss.getWord('b'));

}

}
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hockpink 2003-10-17
  • 打赏
  • 举报
回复
第一,你看看你是否将文件所在的路径添加到了classpath
第二,看看那个路径下面是不是真的有一个Dict.class
如果都没有问题,那么在运行一遍,把错误帖上来,我感觉你贴出来的错误很奇怪,那个dic很莫名其妙,或者你运行的时候写的文件名就不对,运行的时候文件名要区分大小写
goflyboy0451 2003-10-17
  • 打赏
  • 举报
回复
我说错了,我保存的是Dict.java
出现以上错误了?怎么回事?
hockpink 2003-10-17
  • 打赏
  • 举报
回复
我个人认为你没有必要把字符串装进LinkedList,你直接readline()一下得到一个string然后就判断是不是以c开头(用String类的indexOf()),这样多数情况下不用把整个文件都readline()一遍就能得到结果,这样速度一定会有提高的
goflyboy0451 2003-10-17
  • 打赏
  • 举报
回复
首先感谢hockpink的回复!
错误基本上也解决了,基本上是以上你说的, classpath 的问题!
随便问一个问题:
在一个LinkedList容器dictinary(装的是string)中找字母c开头的string
我用的是以下方法,总感觉特别别扭(相对c++来说),而且执行的时间太长,有没有更好的方法?
public String getWord(char c){
char temp[]={c};
String ss=new String(temp);//?have another mether to
//convert a char to a string?

int size=dictinary.indexOf(ss.toUpperCase());//我想这个c应该是字母了
return (String)dictinary.get(size+1);

}


microspot 2003-10-16
  • 打赏
  • 举报
回复
晕倒
grgh2000 2003-10-16
  • 打赏
  • 举报
回复
应该保存为Dict.java
goflyboy0451 2003-10-16
  • 打赏
  • 举报
回复
是dict.java呀!
CNSC 2003-10-16
  • 打赏
  • 举报
回复
what is the file name which you save

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧