黑马程序员技术交流社区

标题: 在MyEclipse运行,在控制台中能编译通过,但运行时异常的..... [打印本页]

作者: 杨胜利    时间: 2012-7-25 00:15
标题: 在MyEclipse运行,在控制台中能编译通过,但运行时异常的.....
本帖最后由 杨胜利 于 2012-7-25 01:09 编辑

程序代码如下:
package java05;
public class Test1
{
public static class XueSheng
{
//属性
String name ="张三";
int age =20;
String sex = "男";
String xingqu ="java";
//方法--显示学生的个人信息
public void display()
{
  System.out.println("打印:"+name + age + sex + xingqu);
}
}
public static class JiaoShi
{
//属性
String name ="老毕";
int age = 87;
String sex ="男";
String kecheng = "java课程";
//方法--显示教师的个人信息
public void display()
{
  
  System.out.println("打印:"+name + age + sex + kecheng);
}
}
public static void main(String[] args)
{
//声明并赋初值
XueSheng xs = new XueSheng();
JiaoShi js = new JiaoShi();
xs.display();
js.display();
}
}
在Eclipse中运行结果:
打印:张三20男java
打印:老毕87男java课程

在控制台能编译通过
运行时发生异常:Exception in thread main java.lang.NoClassDefFoundError:Test1(wrong name:java05/Test1)
问题:这是什么情况?怎样修改才能运行?


作者: 张頔    时间: 2012-7-25 00:32
在cmd中将第一句“package java05;”删了就行了
因为在cmd中你的路径就是到的····\java05
你再在程序中有第一句话的话他就会在当前路径即······\java05下找package java05,当然找不到了
一定要注意,{:soso_e113:}

作者: 李菁    时间: 2012-7-25 00:47
我运行了,没有错啊,都正常打印了。
你看一下类名和文件名是否一致。或者没有设置classpath。
还有javac后跟的是文件名,java后跟类名。
这几点你都看看吧

aaa.jpg (92.64 KB, 下载次数: 28)

aaa.jpg

作者: 韩爽    时间: 2012-7-25 01:08
本帖最后由 韩爽 于 2012-7-25 01:14 编辑

运行是没有错误的。
出现Exception in thread main java.lang.NoClassDefFoundError:Test1(wrong name:java05/Test1)这个问题一般都是package java05; 声明包文件名出现问题。
你可以看一下是不是跟你的包名称不同,尤其要注意大小写。
一般情况下在写类的时候都会右键单击你的包,选择新建,选择类,自动生成,既然你是用myEclipse 应该不会出现这样的问题。
如果还是出现这样的代码一般控制台既然输出,建议你先情况控制台,然后在运行测试下,如果还是有问题检查下括号什么的。

无标题.gif (192.52 KB, 下载次数: 34)

无标题.gif

作者: 杨胜利    时间: 2012-7-25 01:09
是我太粗心了,懂了,谢谢了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2