输入包括一个字符串,字符串长度不超过100。
可能有多组测试数据,对于每组数据, 对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
3 3a
10110011 10110011 01100001
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s; while ((s = br.readLine()) != null) { char[] chars = s.toCharArray(); for (int i = 0; i < chars.length; i++) { int ten = (int) chars[i]; String two = Integer.toBinaryString(ten); StringBuilder two1 = new StringBuilder(two); two1.reverse(); for (int j = two1.length(); j < 7; j++) { two1.append('0'); } int count = getnum1(two); if (count % 2 == 0) two1.append('1'); else two1.append('0'); System.out.println(two1.reverse()); } } } private static int getnum1(String two) { int count = 0; for (int i = 0; i < two.length(); i++) { if (two.charAt(i) == '1') { count++; } } return count; } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextLine()){ String s1 = in.nextLine(); for (int i = 0; i < s1.length() ; i++) { ODD((s1.charAt(i))); } } } private static void ODD(char s) { String m = Integer.toBinaryString((int) s) ; while(m.length()<7){ m = "0" + m; } int count = 0; for (int j = 0; j < m.length() ; j++) { if(m.charAt(j)=='1'){ count++; } } if(count % 2 ==0){ m = "1"+m; }else { m = "0"+m; } System.out.println(m); } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ String s = scanner.next(); char[] array = s.toCharArray(); for (char c : array) { String s1 = Integer.toBinaryString(c); String s2 = String.format("%07d", Integer.parseInt(s1)); int count = 0; for (int j = 0; j < 7; j++) { if (s2.charAt(j) == '1') count++; } System.out.println(count % 2 == 0 ? "1" + s2 : "0" + s2); } } } }