题解 | #整数与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);
}
}
腾讯成长空间 5958人发布