输入IP地址,判断该地址是否为C类地址,输入的格式不进行异常处理Java
时间: 2024-03-15 15:44:07 浏览: 5
可以使用正则表达式来验证输入的IP地址是否符合规范,然后再使用InetAddress类来判断是否为C类地址。以下是一个示例代码:
```
import java.net.InetAddress;
import java.util.regex.Pattern;
public class IPAddressValidator {
public static boolean isClassC(String ipAddress) {
// 验证IP地址格式是否正确
String ipRegex = "(25[0-5]|2[0-4]\\d|[0-1]\\d{0,2}|[1-9]\\d?)\\."
+ "(25[0-5]|2[0-4]\\d|[0-1]\\d{0,2}|[1-9]\\d?)\\."
+ "(25[0-5]|2[0-4]\\d|[0-1]\\d{0,2}|[1-9]\\d?)\\."
+ "(25[0-5]|2[0-4]\\d|[0-1]\\d{0,2}|[1-9]\\d?)";
Pattern ipPattern = Pattern.compile(ipRegex);
if (!ipPattern.matcher(ipAddress).matches()) {
return false;
}
// 判断是否为C类地址
try {
InetAddress inetAddress = InetAddress.getByName(ipAddress);
byte[] addressBytes = inetAddress.getAddress();
int firstByte = addressBytes[0] & 0xFF;
return (firstByte >= 192 && firstByte <= 223);
} catch (Exception e) {
return false;
}
}
public static void main(String[] args) {
String ipAddress = "192.168.1.1";
boolean isClassC = isClassC(ipAddress);
System.out.println(ipAddress + " is a class C address: " + isClassC);
}
}
```
在此示例中,我们首先使用正则表达式验证输入的IP地址格式是否正确。如果格式正确,我们再使用InetAddress类判断是否为C类地址。在main()方法中,我们提供了一个示例IP地址,并输出它是否为C类地址的结果。注意,在实际应用中,应该对输入的IP地址进行更严格的验证和异常处理。