【发布时间】:2019-03-23 21:26:59
【问题描述】:
下面的代码会要求用户输入一行二进制数(如 01010011 ),然后程序需要将第一个数字与第二个数字进行异或,如果结果为真,则返回 1,否则返回 0。然后用第三个数字异或这个结果......直到最后一个数字。以下是我的代码,我尝试了一整晚,但从未得到正确的结果。任何人都可以看一下代码吗?谢谢!
char input1;
char input2;
Scanner scan = new Scanner( System.in );
System.out.print("Please enter your value> ");
input = scan.next();
input1 = input.charAt(0);
for( int i = 1; i < input.length(); i++ )
{
input2 = input.charAt(i);
if ( ( ( input1 == '1' || input2 == '0' ) && input1 != input2 )
|| ( ( input1 == '0' || input2 == '1' ) && input1 != input2 ) )
{
input1 = '1';
}
if ( input1 == input2 )
{
input1 = '0';
}
}
System.out.println( "The result is " + input1 );
【问题讨论】:
标签: java loops logical-operators