用Java写一个程序,输入一个IP地址,判断输入的IP地址是否为C类地址。如果输入的格式不对要报错
时间: 2024-03-15 08:44:04 浏览: 12
好的,我来为您编写这个程序。
首先,我们需要使用Java的正则表达式来判断输入的IP地址格式是否正确。然后,我们需要将IP地址转换为二进制,并检查其前三个字节是否为110开头,即判断其是否为C类地址。
下面是完整的代码实现:
```java
import java.util.Scanner;
public class CheckIP {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入IP地址:");
String ip = sc.nextLine();
// 正则表达式判断IP地址格式是否正确
String regex = "^((\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])$";
if (!ip.matches(regex)) {
System.out.println("IP地址格式错误!");
return;
}
String[] strs = ip.split("\\.");
String binaryStr = "";
for (int i = 0; i < 4; i++) {
String str = Integer.toBinaryString(Integer.parseInt(strs[i]));
while (str.length() < 8) {
str = "0" + str;
}
binaryStr += str;
}
if (binaryStr.startsWith("110")) {
System.out.println(ip + " 是C类地址");
} else {
System.out.println(ip + " 不是C类地址");
}
}
}
```
运行程序后,输入IP地址,即可判断其是否为C类地址。如果输入的格式不正确,会报错提示。