华为上机测试题(数字字符串转二进制-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 }

 

你可能感兴趣的:(java)