题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
http://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.contains(".")) {
Long result = Arrays.stream(line.split("\\.")).map(Long::valueOf).reduce(0L, (x, y) -> x * 256 + y);
System.out.println(result);
} else {
long number = Long.parseLong(line);
List<String> collect = Stream.iterate(number, x -> x / 256).limit(4).map(x -> x % 256).map(String::valueOf).collect(Collectors.toList());
Collections.reverse(collect);
String result = String.join(".", collect);
System.out.println(result);
}
}
}
}