如何编写Java代码以将0翻转至1,反之亦然,而无需使用循环,按位运算符,逻辑运算符,if-else,switch-case或三进制运算符。如果输入不为0或1,则显示“错误”
答案 0 :(得分:4)
一些伪代码,“不使用循环,按位运算符,逻辑运算符,if-else,switch-case或三进制运算符”:
int[] s = { 1, 0 }
try {
x = s[x];
catch (OutofBoundsException) {
print "error";
}
答案 1 :(得分:1)
这是另一个使用不同异常的解决方案:
public static void checkX (int x) {
String message = "error";
try {
int y = 1/x;
y = 1/(x-1);
}
catch (ArithmeticException exc) {
x = 1 - x;
message = Integer.toString (x);
}
System.out.println(message);
}
测试:
checkX(1);
checkX(0);
checkX(5);
输出:
0
1
error
答案 2 :(得分:0)
好吧,翻转值很简单:
int i = 0;
i = (i + 1) % 2;
System.out.println(i); // prints 1
i = (i + 1) % 2;
System.out.println(i); // prints 0
我不知道“错误”