题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
超级烂的写法,小白写法
import java.util.Arrays; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String ip2In = in.nextLine(); String ip10In = in.nextLine(); // System.out.print(ip2In); String[] ip2InArr = ip2In.split("\\."); // System.out.print(Arrays.toString(ip2InArr)); long ip2Out = 0; long pows = 0; for (int i = ip2InArr.length - 1; i >= 0; i--) { int num = Integer.parseInt(ip2InArr[i]); ip2Out += num * Math.pow(2, pows++ * 8); } System.out.println(ip2Out); long ip10InLong = Long.parseLong(ip10In); long d = ip10InLong%256; long c = (ip10InLong - d)/256%256; long b = (ip10InLong - d - c*256)/(256*256)%256; long a = (ip10InLong - d - c*256 - b*256*256)/(256*256*256)%256; System.out.println(a+"."+b+"."+c+"."+d); } }