-
题目描述:
-
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。
-
输入:
-
输入包括一个字符串,字符串长度不超过100。
-
输出:
-
可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
-
样例输入:
-
3 3a
-
样例输出:
-
10110011 10110011 01100001
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
class Main
{
public static final boolean DEBUG = false;
public static void main(String[] args) throws IOException
{
Scanner cin;
String s;
if (DEBUG) {
cin = new Scanner(new FileReader("d:\\OJ\\uva_in.txt"));
} else {
cin = new Scanner(new InputStreamReader(System.in));
}
while (cin.hasNext()) {
s = cin.next();
int len = s.length();
for (int i = 0; i < len; i++) {
StringBuilder sb = new StringBuilder();
for (int j = 0; j < 8; j++) sb.append('0');
char ch = s.charAt(i);
int cnt = 0;
int num = 0;
while (ch != 0) {
char tmp = (char)(ch % 2);
if (tmp == 1) num++;
sb.setCharAt(cnt++, (char)(tmp + '0'));
ch /= 2;
}
if (num % 2 == 0) sb.setCharAt(7, '1');
System.out.println(sb.reverse());
}
}
}
}