编写Java程序,根据提供的 IP 地址,获取主机名称和域名

查看本章节

查看作业目录


需求说明:

根据提供的 IP 地址,获取主机名称和域名

实现思路:

  1. 创建 GetHostNameByIpAddress 类,在main方法中声明 String 类型的变量 ipAddress,调用 ipAddress 字符中的split方法分割字符串,指定的分隔符是“·”,并将方法返回值保存到 String 类型的数组变量 ipArr 中
  2. 实例化 byte 类型的数组变量 ipByteArr,用来保存 IP 地址,该数组长度与数组 ipArr 的长度相等
  3. 使用 for 循环遍历数组 ipArr,取出数组内的每个元素。调用 Integer 类的 parseInt(String s) 方法,将数组内的每个元素转成 int 类型,顺序保存到数组 ipByteArr 中
  4. 通过调用 InetAddress 对象的 getByAddress(byte[] addr) 方法,返回一个 InetAddress 对象,调用该对象的 getHostAddress() 方法、getCanonicalHostName() 方法和 getHostName() 方法,可以分别获取本机的 IP地址、域名和主机名称

实现代码:

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Inet {
	public static void main(String[] args){
		InetAddress ip = null;
		try {
			ip = InetAddress.getLocalHost();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		System.out.println("本机的IP地址:"+ip.getHostAddress());
		System.out.println("本机的域名:"+ip.getCanonicalHostName());
		System.out.println("本机的主机名称:"+ip.getHostName());
	}
}
import java.net.InetAddress;
import java.net.UnknownHostException;

public class GetHostNameByIpAddress {
	public static void main(String[] args) throws UnknownHostException {
		InetAddress localHost = InetAddress.getLocalHost();
		//保存IP地址
		String ipAddress = "172.20.36.17";
//		String ipAddress = localHost.toString();
//		System.out.println(ipAddress);
		//根据符号“.”将IP地址分割为一个字符串数组
		String[] ipArr = ipAddress.split("\\.");
		//用来保存IP地址的byte数组
		byte[] ipByteArr = new byte[ipArr.length];
		for (int i = 0; i < ipArr.length; i++) {
			//将字符串转成整数
			int m = Integer.parseInt(ipArr[i]);
			//将int类型的数字转成byte类型
			ipByteArr[i] = (byte)m;
		}
		InetAddress inetAddress = InetAddress.getByAddress(ipByteArr);
		
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_44893902/article/details/108893588