题目1197:奇偶校验

来源:互联网 发布:仿淘宝 下拉刷新 编辑:程序博客网 时间:2024/06/12 15:39

题目描述:

输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。

输入:

输入包括一个字符串,字符串长度不超过100。

输出:

可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。

样例输入:
33a
样例输出:
101100111011001101100001
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());}}}}



0 0
原创粉丝点击