日期:2014-05-20  浏览次数:20669 次

出现错误:expection in thread "main" java.lang.Noclassdeffounderror:Jnet(wrong name c15 Jnet)
这个是think   in   java里的一段程序根据命令行输入的参数作为计算机名输出其ip地址  
编译的时候出现以下错误:
expection   in   thread   "main "   java.lang.Noclassdeffounderror:Jnet(wrong   name   c15   Jnet)  

问题好像是和package   c15有关
我去了c15那行就main可以接受参数了,但是这样显然没法使用需要的类了。不知是怎么回事。。。是不是我的机器的运行环境需要作相关的设置呢?


代码如下:
package   c15;
import   java.net.*;
public   class   Jnet
{
public   static   void   main(String   args[])
throws   Exception{
if(args.length!=1)
{
System.err.println( "Usage:Jnet   MachineName ");
}
InetAddress   a=InetAddress.getByName(args[0]);

}
}

------解决方案--------------------
路径不对吧。
Jnet.java要放在目录c15下。
------解决方案--------------------
首先你需要把这个文件放到c15这个目录下。
然后在c15这个目录外执行: "javac c15\Jnet.java ",不知道你是不是这样执行的?
看你的表述,感觉你应该是在c15这个目录内执行“javac Jnet.java”的,或者你这个文件根本不在c15这个目录内。
------解决方案--------------------
一个类只能有一个包声明

当然了, 一个项目肯定会有许多类, 不同的功能模块会放到不同的包里面, 也就是不同的路径下

这时候引用某个类就必须先import

理解一下CLASSPATH的概念