华为上机测试题(数字字符串转二进制-java)

PS:此题满分,可参考

/*  * 题目:数字字符串转二进制

 * 描述: 输入一串整数,将每个整数转换为二进制数,如果倒数第三个Bit是“0”,则输出“0”,如果是“1”,则输出“1”。

  题目类别: 位运算

难度: 初级

分数: 60

运行时间限制: 10 Sec

内存限制: 128 MByte

阶段: 应聘考试

输入: 一串整数,长度小于1024,整数以空格隔开

输出: 1/0的整数串,空格隔开  

样例输入: 240 0

样例输出: 0 0

答案提示:  

 */

 

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6         
 7         String bitStr = "";
 8         
 9         Scanner cin = new Scanner(System.in);
10         String str = cin.nextLine();
11         
12         bitStr = getBitString(str);
13         
14         System.out.println(bitStr);
15         cin.close();
16         
17     }
18 
19     private static String getBitString(String str) {
20 
21         int len = 0;
22         int bit = 0;
23         int num = 0;
24         StringBuilder sb = new StringBuilder();
25         
26         String[] strArray = str.split(" ");
27         len = strArray.length;
28         
29         if(len >= 1024)
30         {
31             return "";
32         }
33         
34         for(int i = 0; i < len; i++)
35         {
36             num = Integer.parseInt(strArray[i]);
37             num /= 4;
38             bit = num % 2;
39 
40             sb.append(bit+" ");
41         }
42         
43         return sb.toString().substring(0, sb.length()-1);
44     }
45     
46 }

 

posted @ 2014-09-29 19:44  lr_ting  阅读(2315)  评论(2编辑  收藏  举报
simple statistics
Econo Lodge Coupons