用Java实现输入IP输出网络地址
时间: 2023-06-16 21:07:47 浏览: 48
以下是Java代码,可以输入IP地址并输出其网络地址:
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Scanner;
public class NetworkAddress {
public static void main(String[] args) throws UnknownHostException {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter IP address: ");
String ipAddress = scanner.nextLine();
InetAddress inetAddress = InetAddress.getByName(ipAddress);
byte[] address = inetAddress.getAddress();
byte[] mask = new byte[address.length];
for (int i = 0; i < mask.length; i++) {
mask[i] = (byte) 255;
}
int prefixLength = address.length * 8;
for (int i = 0; i < address.length; i++) {
for (int j = 7; j >= 0; j--) {
if ((address[i] & (1 << j)) == 0) {
prefixLength--;
mask[i] &= (byte) ~(1 << j);
} else {
break;
}
}
}
InetAddress networkAddress = InetAddress.getByAddress(mask);
System.out.println("Network address: " + networkAddress.getHostAddress() + "/" + prefixLength);
}
}
```
运行程序后,输入IP地址,例如 `192.168.1.100`,程序将输出其网络地址,例如 `192.168.1.0/24`。其中 `/24` 表示网络前缀长度。