查看本章节

查看作业目录


需求说明:

根据提供的 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); } }

编写Java程序,根据提供的 IP 地址,获取主机名称和域名的更多相关文章

  1. Apache服务(基于IP地址,主机名,端口号)

    安装Apache服务程序 需要注意apache服务程序的软件包名称叫做httpd,因此直接执行yum install apache则是错误的. [root@liuxuanke-hbza ~]# yum ...

  2. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  3. 初学编写JAVA程序

    一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...

  4. Java根据ip地址获取Mac地址,Java获取Mac地址

    Java根据ip地址获取Mac地址,Java获取Mac地址 >>>>>>>>>>>>>>>>>&g ...

  5. JAVA 长整型转换为IP地址的方法

    JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...

  6. Java获取本地IP地址和主机名

    方式一:通过java.net.InetAddress类获取 public void test1() { try { InetAddress addr = InetAddress.getLocalHos ...

  7. Java如何从IP地址查找主机名?

    在Java编程中,如何从IP地址查询出主机名? 以下示例显示了如何通过net.InetAddress类的InetAddress.getByName()方法将指定的IP地址查到主机名称. package ...

  8. Java如何获取本地计算机的IP地址和主机名?

    在Java编程中,如何获取本地计算机的IP地址和主机名? 以下示例显示如何使用InetAddress类的getLocalAddress()方法获取系统的本地IP地址和主机名. package com. ...

  9. Java 实例 - 获取本机ip地址及主机名

    package guyu.day0824; import java.net.InetAddress; /** * @Author: Fred * @Date: 2020/8/24 09:39 */ p ...

随机推荐

  1. Android Handler 消息机制原理解析

    前言 做过 Android 开发的童鞋都知道,不能在非主线程修改 UI 控件,因为 Android 规定只能在主线程中访问 UI ,如果在子线程中访问 UI ,那么程序就会抛出异常 android.v ...

  2. oracle 日期语言格式化

    TO_DATE ('17-JUN-87', 'dd-mm-yy', 'NLS_DATE_LANGUAGE = American')

  3. spring boot 配置属性值获取注解@Value和@ConfigurationProperties比较

    功能比较 :     @ConfigurationProperties  @Value  映射赋值 批量注入配置文件中的属性 一个个指定 松散绑定(松散语法)① 支持 不支持 SpEL② 不支持 支持 ...

  4. java 对 final 关键字 深度理解

    基础理解 : 1.修饰类 当用final去修饰一个类的时候,表示这个类不能被继承.处于安全,在JDK中,被设计为final类的有String.System等,这些类不能被继承 .注意:被修饰的类的成员 ...

  5. new Date()与setDate()参数

    New Date()与setDate()参数 相信网上已经有很多关于日期的文章了,这里只是我自己再工作中遇到的问题然后加以总结: new Date() new Date() 一共有六种形式,五种带参数 ...

  6. Linux centos7 安装.net 环境

    其实在linux 下安装.net 环境并不复杂,但最近遇到的服务器没有外网,比较坑很多依赖都没有,记录下这次的安装过程. 一开始以为是服务器没有外网,后来发现是服务器没有配置dns,于是配置dns 第 ...

  7. 关于导入Eclips Web项目报错的解决方案

    1.是一定要有耐心,耐心,耐心,重要的事情说三遍.针对问题一 一破解,一步一步来,不要放弃. 2.其实百度就好了他们有报错的各种问题及解决方案 ,包括导入项目web.xml报错,js文件,jsp文件报 ...

  8. 车载以太网第二弹|测试之实锤 -DoIP测试开发实践

    前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...

  9. Pytorch入门上 —— Dataset、Tensorboard、Transforms、Dataloader

    本节内容参照小土堆的pytorch入门视频教程.学习时建议多读源码,通过源码中的注释可以快速弄清楚类或函数的作用以及输入输出类型. Dataset 借用Dataset可以快速访问深度学习需要的数据,例 ...

  10. c#中Array,ArrayList 与List<T>的区别、共性与转换

    本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...