比较ip是否在两个ip范围之间

xiaoxiao2021-02-28  59

package com.example; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Scanner; public class test { public static void main(String[] args) throws UnknownHostException { IpCount[] ipCounts= new IpCount[5]; boolean flag=false; test test = new test(); ipCounts[0]=new IpCount(1,"192.168.0.1","192.168.0.20"); ipCounts[1]=new IpCount(2,"192.168.0.20","192.168.0.30"); ipCounts[2]=new IpCount(3,"192.168.1.0","192.168.10.1"); ipCounts[3]=new IpCount(4,"192.168.1.100","192.168.1.101"); ipCounts[4]=new IpCount(5,"192.168.0.1","192.168.0.101"); Scanner scanner = new Scanner(System.in); String st = scanner.nextLine(); for (int i = 0; i < ipCounts.length; i++) { long startIp = ipTolong(InetAddress.getByName(ipCounts[i].getStart())); long endIp = ipTolong(InetAddress.getByName(ipCounts[i].getEnd())); long ipcheck = ipTolong(InetAddress.getByName(st));              if (ipcheck >startIp && ipcheck < endIp) {             flag =true; break; } else { flag =false; } } if (flag==true) { System.out.println(1); }else { System.out.println("-1"); } } public static long ipTolong(InetAddress ip){ long result = 0; byte[] ipAdds=ip.getAddress(); for (byte b : ipAdds) { result <<= 8; result |= b&0xff; } return result; } }

 

转载请注明原文地址: https://www.6miu.com/read-61956.html

最新回复(0)