求解一个JAVA入门题

晚上的风儿 2018-06-26 11:08:28
大佬们,求解.写一个 IPV4 的地址如“202.112.17.33”,“192.168.1.1”等,设计一个 IPV4
地址分析类, 功能包括:
1)构造函数:参数包含 IPV4 地址字符串。
2)判断是否是合法主机 IP 地址的接口。
3)判断 IP 地址是 A 类,B 类,C 类或者其他的接口。
...全文
317 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
晚上的风儿 2018-06-28
  • 打赏
  • 举报
回复

大佬,这是啥意思
鱿鱼ing 2018-06-26
  • 打赏
  • 举报
回复
public static void main(String[] args) {
IPV4 ipv4 = new IPV4("192.168.0.1");
System.out.println(ipv4.isLegal());
System.out.println(ipv4.getType());
}
鱿鱼ing 2018-06-26
  • 打赏
  • 举报
回复
回复字数有限制 上面的不全
public class IPV4 {
private String ip;
public IPV4(String ip) {
super();
this.ip = ip;
}
public boolean isLegal() {
if (ip != null && !ip.isEmpty()) {
// 定义正则表达式
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
// 判断ip地址是否与正则表达式匹配
if (ip.matches(regex)) {
// 返回判断信息
return true;
} else {
// 返回判断信息
return false;
}
}
return false;
}
public String getType() {
if (isLegal()) {
Integer i = Integer.valueOf(ip.split("\\.")[0]);
if (1 <= i && i <= 126) {
return "A";
} else if (128 <= i && i <= 191) {
return "B";
} else if (192 <= i && i <= 223) {
return "C";
} else {
return "other";
}
}
return "other";
}
stacksoverflow 2018-06-26
  • 打赏
  • 举报
回复
这个参考一下
https://gist.github.com/gythialy/1ebbde7ba680e76fbee4
鱿鱼ing 2018-06-26
  • 打赏
  • 举报
回复
写一个 个人理解的非标准答案 供参考
public class IPV4 {
private String ip;

public IPV4(String ip) {
super();
this.ip = ip;
}

public boolean isLegal(){
if (ip != null && !ip.isEmpty()) {
// 定义正则表达式
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+
"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+
"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+
"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
// 判断ip地址是否与正则表达式匹配
if (ip.matches(regex)) {
// 返回判断信息
return true;
} else {
// 返回判断信息
return false;
}
}
return false;
}

public String getType(){
if (isLegal()) {
Integer i = Integer.valueOf(ip.split("\\.")[0]);
if (1<=i&&i<=126) {
return "A";
}else if (128<=i&&i<=191) {
return "B";
}else if (192<=i&&i<=223) {
return "C";
}else {

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧