题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

http://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		while (input.hasNextLine()) {
			String string=input.nextLine();
			if (string.contains(".")) {
				String[] strings=string.split("\\.");
//				for (int i = 0; i < strings.length; i++) {
//					System.out.println(strings[i]);
//					
//				}
				
				StringBuffer buffer=new StringBuffer();
				for (int i = 0; i < strings.length; i++) {
					int a=Integer.valueOf(strings[i]);
//					System.out.println(a);
					String string2="";
					if (a!=0) {
						for (int j = 0; a/2>0; j++) {
							string2=a%2+string2;
							a=a/2;
						}
						string2="1"+string2;
					}else {
						string2="00000000";
					}
					
//					System.out.println(string2);
					
					if (string2.length()<8) {
						int n=string2.length();
						for (int j = 0; j < 8-n; j++) {
							string2="0"+string2;							
						}
//						System.out.println(string2);
					}
					
					buffer.append(string2);					
				}
//				System.out.println(buffer.toString());
				System.out.println(Long.parseLong(buffer.toString(),2));
			}
			else {
				long a=Long.valueOf(string);
				String string2="";
				if (a!=0) {
					for (int j = 0; a/2>0; j++) {
						string2=a%2+string2;
						a=a/2;
					}
					string2="1"+string2;
					
					if (string2.length()<32) {
						int n=string2.length();
						for (int j = 0; j < 32-n; j++) {
							string2="0"+string2;							
						}
//						System.out.println(string2);
					}
					
					for (int i = 0; i < 3; i++) {
						String string3=string2.substring(8*i,8*(i+1));
						System.out.print(Integer.parseInt(string3,2)+".");
					}
					System.out.print(Integer.parseInt(string2.substring(8*3,8*(3+1)),2));
				}else {
					System.out.println("0.0.0.0");
				}
			}
			
		}
		
	}

}

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务