刚开始接触java,贴一个漏洞百出的代码.是显示IP的,希望帮我指正一下.(50分)

  • 主题发起人 主题发起人 ICEsting
  • 开始时间 开始时间
I

ICEsting

Unregistered / Unconfirmed
GUEST, unregistred user!
其实我才接触JAVA 2天,这个不是我写的,是我从网上找的一段java代码,想转换成Applet,
希望帮我看看错误都在哪里.
import java.awt.Graphics;
import java.applet.Applet;
import java.net.*;
public class NetTool extends Applet{
public String ip;//我觉的是这的问题,定义(暂时我是这样理解的,错了别笑我!)错误
InetAddress myIPaddress=null;

public void paint(Graphics g)
{
NetTool mytool;
mytool=new NetTool();
ip=mytool.getMyIP();//还有这里,类型可能不匹配.
//System.out.println(ip);
g.drawString(ip,60,60);//当然还有这里,肯定不能获取正确结果的.
}
public InetAddress getMyIP() {
try { myIPaddress=InetAddress.getLocalHost();}
catch (UnknownHostException e) {}
return (myIPaddress);//返回的啥类型的数据?
}
}
学JAVA 2天了*^_^*,别笑我,我是菜鸟,纯菜的鸟,还没长羽毛呢:)
 
[red]啥意思?这样的解释我可看不懂[/red]
 
NetTool mytool;
mytool=new NetTool();
去掉这两行,调用自己类的函数没必要创建对象。直接用好了。
ip = getMyIP();
另外 InetAddress 如果是类的话,应该有方法实现向字符串的转化,具体你查查吧。
至于能不能编译通过,就不知道了。没试。
 
自己解决了,用的这个方法,跟秋之叶说的一样,转换一下类型.
ip=getMyip().toString();
我还想知道转换别的类型还有什么?大家帖出来点让我养养眼[:D]
 
import java.awt.Graphics;
import java.applet.Applet;
import java.net.*;
public class NetTool extends Applet {
public String ip;
InetAddress myIPaddress = null;
public InetAddress GetIP() {
try {
myIPaddress = InetAddress.getLocalHost();
return myIPaddress;
} catch (UnknownHostException e) {
return (myIPaddress);
}
}
public void paint(Graphics g) {
ip = GetIP().toString();
g.drawString(ip, 60, 60);
}
}
 
为什么获取的总是localhost/127.0.0.1?
这个是什么问题 ?
 
我在局域网中获取的是10.14.*.*,是可以的啊
 
InetAddress.getLocalHost().getHostAddress() =>取IP
InetAddress.getLocalHost().getHostName() =>取机器名
 
我再试试:)
 
import java.awt.Graphics;
import java.applet.Applet;
import java.net.*;
import java.awt.*;
public class NetTool extends Applet {
public String ip, Name;
InetAddress myIPaddress = null;
Image image;
public String GetComputerName() {
try {
String myIPaddress = InetAddress.getLocalHost().getHostName();
return myIPaddress;
} catch (UnknownHostException e) {
return (myIPaddress.toString());
}
}
public String GetIP() {
try {
String myIPaddress = InetAddress.getLocalHost().getHostAddress();
return myIPaddress;
} catch (UnknownHostException e) {
return myIPaddress.toString();
}
}
public void paint(Graphics g) {
Name = GetComputerName();
ip = GetIP();
g.drawString("本机的计算机名是:" + Name, 60, 60);
g.drawString("本机的IP是:" + ip, 60, 80);
}
}
 
后退
顶部