Java代码将0翻转到1

时间:2018-06-27 12:42:52

标签: java

如何编写Java代码以将0翻转至1,反之亦然,而无需使用循环,按位运算符,逻辑运算符,if-else,switch-case或三进制运算符。如果输入不为0或1,则显示“错误”

3 个答案:

答案 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

我不知道“错误”