题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
这题有点东西,将ip地址当成256进制的数来算,比较简单。
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String ip2In = in.nextLine(); // 当成256进制的 String[] ip2InArr = ip2In.split("\\."); long resultIp2 = 0; for(int i = 0;i < 4;i++){ resultIp2 = resultIp2 * 256+Integer.parseInt(ip2InArr[i]); } System.out.println(resultIp2); // 十进制转ip String ip10In = in.nextLine(); long ip10InLong = Long.parseLong(ip10In); String resultIp10 = ""; for(int i = 0 ;i < 4;i++){ resultIp10 ="."+ (ip10InLong%256)+resultIp10; ip10InLong = ip10InLong/256; } System.out.print(resultIp10.substring(1)); } }