题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String ipStr = in.nextLine(); String[] arrStr = ipStr.split("\\."); Long sum = 0L; for(int i = 0; i < arrStr.length; i++){ String s = arrStr[i]; Long num = Long.valueOf(s); num = num << 8 * (3 - i); sum = sum + num; } String ipNumStr = in.nextLine(); long ipNum = Long.valueOf(ipNumStr); String outStr = new String(); long i1 = ipNum & 0xFF000000; long i2 = ipNum & 0xFF0000; long i3 = ipNum & 0xFF00; long i4 = ipNum & 0xFF; long temp; temp = i1 >> 8 * 3; outStr = String.valueOf(temp); temp = i2 >> 8 * 2; outStr = outStr + "." + temp; temp = i3 >> 8; outStr = outStr + "." + temp; temp = i4; outStr = outStr + "." + temp; System.out.println(sum); System.out.println(outStr); } }