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