java编程问题 编程接受用户通过命令行参数指定主机名,利用该主机名找到网络中对应计算机的IP地址并显示出来。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.io.InputStreamReader;import java.net.InetAddress;import java.net.UnknownHostException;public class Test { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); InetAddress address = null; try { System.out.println("请输入主机名字:"); String name = br.readLine(); address = InetAddress.getByName(name); String ipAddress = address.toString(); ipAddress = ipAddress.substring(ipAddress.lastIndexOf("/") + 1); System.out.println(ipAddress); } catch (UnknownHostException e) { System.out.println("主机名字不存在"); } catch (IOException e1) { e1.printStackTrace(); } }} 演示结果请输入主机名字:www.baidu.com123.235.44.65 答:你说的"主机名"是什么意思?若是指机器所配置的DNS系统中的域名,则通过DNS解析(即:InetAddress类就可以完成),但若是通常操作系统中的机器的"主机名"(hostName),则无法找到(此题无解). 运行的时候用命令行java Addr 后面带主机名,比如:java Addr www.tarena.com.cn显示123.103.97.25java Addr www.sohu.com显示61.135.179.191import java.net.InetAddress;import java.net.UnknownHostException;public class Addr { public static void main(String[] args) { if(args.length==0){ System.out.println("请在命令行上带主机名,类似如下格式:"); System.out.println("java Addr www.sohu.com"); return; } try { InetAddress address = InetAddress.getByName(args[0]); String ipAddress = address.toString(); ipAddress = ipAddress.substring(ipAddress.lastIndexOf("/") + 1); System.out.println(ipAddress); } catch (UnknownHostException e) { System.out.println("主机名字不存在"); } }} 学了一个类的用法InetAddress.getByName(name);getAllByNamepublic static InetAddress[] getAllByName(String host) throws UnknownHostException在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。 主机名可以是机器名(如 "java.sun.com"),也可以是其 IP 地址的文本表示形式。如果提供字面值 IP 地址,则仅检查地址格式的有效性。 对于以字面值 IPv6 地址 指定的 host,在 RFC 2732 中定义的形式或在 RFC 2373 中定义的字面值 IPv6 地址格式都可以接受。字面值 IPv6 地址还可以通过追加范围时区标识符或 scope_id 来限定。scope_id 的语法和用法在这里描述。 如果主机为 null,则返回表示回送接口地址的 InetAddress。请参阅 RFC 3330 的第 2 节和 RFC 2373 的第 2.5.3 节。 如果有安全管理器,并且 host 非 null,host.length() 不等于零,则使用主机名和 -1 作为参数调用安全管理器的 checkConnect 方法,来查看是否允许该操作。 参数:host - 主机名,或 null。 返回:给定主机名的所有 IP 地址所组成的数组。 抛出: UnknownHostException - 如果找不到 host 的 IP 地址,或者 scope_id 是为全局 IPv6 地址指定的。 SecurityException - 如果安全管理器存在并且其 checkConnect 方法不允许进行该操作。 J2SE有没有针对文件路径的相对路径绝对路径转换的API函数 这个例子应该怎么跑啊?有人能给说说么? Timer奇怪问题 中文乱码 JAVA中如何浮动的窗体 或者 JDesktopPane怎么设置底图 请教一个连接数据库查询后的数据问题,谢谢~ swt与swing哪个比较有前途? 数据库问题? 怎样用个按钮来激发一个绘图事件 请教一个Java窗口的制作Swing技术问题. String s = new String("xyz");创建了几个String Object? 问下lgn极限的数学公式推导
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.UnknownHostException;public class Test {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
InetAddress address = null;
try {
System.out.println("请输入主机名字:");
String name = br.readLine();
address = InetAddress.getByName(name);
String ipAddress = address.toString();
ipAddress = ipAddress.substring(ipAddress.lastIndexOf("/") + 1);
System.out.println(ipAddress);
} catch (UnknownHostException e) {
System.out.println("主机名字不存在");
} catch (IOException e1) {
e1.printStackTrace();
} }
}
请输入主机名字:
www.baidu.com
123.235.44.65
java Addr 后面带主机名,比如:
java Addr www.tarena.com.cn
显示123.103.97.25
java Addr www.sohu.com
显示61.135.179.191import java.net.InetAddress;
import java.net.UnknownHostException;public class Addr {
public static void main(String[] args) {
if(args.length==0){
System.out.println("请在命令行上带主机名,类似如下格式:");
System.out.println("java Addr www.sohu.com");
return;
}
try {
InetAddress address = InetAddress.getByName(args[0]);
String ipAddress = address.toString();
ipAddress = ipAddress.substring(ipAddress.lastIndexOf("/") + 1);
System.out.println(ipAddress);
} catch (UnknownHostException e) {
System.out.println("主机名字不存在");
}
}
}
public static InetAddress[] getAllByName(String host)
throws UnknownHostException在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
主机名可以是机器名(如 "java.sun.com"),也可以是其 IP 地址的文本表示形式。如果提供字面值 IP 地址,则仅检查地址格式的有效性。 对于以字面值 IPv6 地址 指定的 host,在 RFC 2732 中定义的形式或在 RFC 2373 中定义的字面值 IPv6 地址格式都可以接受。字面值 IPv6 地址还可以通过追加范围时区标识符或 scope_id 来限定。scope_id 的语法和用法在这里描述。 如果主机为 null,则返回表示回送接口地址的 InetAddress。请参阅 RFC 3330 的第 2 节和 RFC 2373 的第 2.5.3 节。 如果有安全管理器,并且 host 非 null,host.length() 不等于零,则使用主机名和 -1 作为参数调用安全管理器的 checkConnect 方法,来查看是否允许该操作。
参数:
host - 主机名,或 null。
返回:
给定主机名的所有 IP 地址所组成的数组。
抛出:
UnknownHostException - 如果找不到 host 的 IP 地址,或者 scope_id 是为全局 IPv6 地址指定的。
SecurityException - 如果安全管理器存在并且其 checkConnect 方法不允许进行该操作。