62,566
社区成员




package com.xiaoyong;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* @author 屈小勇 QQ:306741422
*
*/
public class ConfirmIp {
private Map<IpObject, String> map;
public ConfirmIp() {
map = new HashMap<IpObject, String>();
}
// 添加记录
public void addRecord(String beginIp, String endIp, String province) {
IpObject ipObject = new IpObject(beginIp, endIp);
map.put(ipObject, province);
}
public void confirmIpLocation(String ip) {
Iterator<IpObject> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
IpObject ipObject = iterator.next();
String beginIp = ipObject.getBeginIp();
// 如果前面三组数字匹配
if (ip.substring(0, 11).equals(beginIp.substring(0, 11))) {
int ipEnd = Integer.parseInt(ip.substring(12));
int beginIpEnd = Integer.parseInt(beginIp.substring(12));
if (ipEnd >= beginIpEnd) {
String province = this.map.get(ipObject);
System.out.println(ip + "所在的province为:" + province);
return;
}
}
}
System.out.println("没有找到 " + ip + " 所在的位置");
}
// 使用内部类封装IP段
class IpObject extends Object {
private String beginIp;
private String endIp;
public IpObject(String beginIp, String endIp) {
this.beginIp = beginIp;
this.endIp = endIp;
}
public String getBeginIp() {
return beginIp;
}
public String getEndIp() {
return endIp;
}
}
public static void main(String[] args) {
ConfirmIp confirmIp = new ConfirmIp();
confirmIp.addRecord("192.168.000.000", "192.168.001.255", "ce");
confirmIp.addRecord("192.168.002.000", "192.168.002.255", "bj");
confirmIp.confirmIpLocation("192.168.002.121");
}
}