import java.net.*
public class ipdizhi
{
String a1,a2;
public static void main(String args[])
{
ipdizhi di=new ipdizhi();
System.out.println("本机IP地址是"+di.aa());
System.out.println("sohu网IP地址是"+di.bb());
}
public InetAddress aa
{
 try
{
 a1=InetAddress.getLocalHost();
}
catch(UnknownHostException e){}
return a1;
}
public InetAddress bb
{
 try
{
 a1=InetAddress.getByName("www.sohu.com");
}
catch(UnknownHostException e){}
return a2;
}
}用JDK显示找不到文件 ,ipdizhi.java ,可我保存的是ipdizhi.java文件名啊

解决方案 »

  1.   

    这是在同一个java文件中吗?同一个java文件中只能有一个public的类
      

  2.   

    一个java文件中只能写一个public类.
      

  3.   

    请问lz是不是用文本编辑器写的代码?
    注意查看一下文件的扩展名
    确认一下是不是ipdizhi.java.txt另外,lz的代码有问题哦
    public InetAddress aa
    这个定义是什莫阿,类?方法?
    还有
    public InetAddress bb
      

  4.   

    嗬嗬,lz并没有写1个以上的public class
      

  5.   

    三楼说得对,LZ定义的是什么啊?即不是方法也不是类!不过从上面看,LZ应该是想定义方法。但a1和a2是String类型,而返回a1和a2的方法aa()、bb()的返回类型却是InetAddress类型。这就说不过去了。另外bb()方法中用a1接受主机名,却返回a2,这错误太明显了!正确代码如下(JDK下调试通过,结果正确):import java.net.*;public class Ipdizhi {
    InetAddress a1, a2; public static void main(String args[]) {
    Ipdizhi di = new Ipdizhi();

    System.out.println("本机IP地址是" + di.aa());
    System.out.println("sohu网IP地址是" + di.bb());
    } public InetAddress aa() {
    try {
    a1 = InetAddress.getLocalHost();
    } catch (UnknownHostException e) {
    e.printStackTrace();
    }
    return a1;
    } public InetAddress bb() {
    try {
    a2 = InetAddress.getByName("www.sohu.com");
    } catch (UnknownHostException e) {
    e.printStackTrace();
    }
    return a2;
    }
    }