如何编写一个方法,它接受 0 或 1 的 int args 并给出输出 1 或 0

How to write a method which takes int args either 0 or 1 and gives output 1 or 0

我想写一个方法,它接受 0 或 1 的 int args 并给出输出 1 或 0。意味着如果我给输入 0 它应该 return 1 如果输入是 1 应该 return 0。但问题是我不能使用 if else、三元运算符或任何集合。

方法应如下所示:

public int myMethod(int i)
{
    return j; // if i is 0 then j should be 1 and vice versa.
}
return 1-input;

input就是进来的值

这应该有效:

return Math.abs(i-1);

受 Saraubh 的启发,也在 return 之前检查输入。

public int myMethod(int i)
{
    if (i != 0 && i != 1)
    {
        throw new IllegalArgumentException("Input should be 0 or 1");
    }
    return 1 - i;
}
public int myMethod(int i){
    return 1^i;
}

这会做一个异或操作。 if i = 0 -> returns 1, if i = 1 returns 0. 假设输入 i 为 0 或 1 ...

可能是最简单的解决方案:

public int myMethod(int i)
{
    return 1-i;
}

public int myMethod(int i)
{
    int j = 0;
    if (i == 0) {
        j = 1;
    }
    return j;
}

这个问题很有意思。以下是其他可能的方式:(其实有点不切实际,也有点贵,只是为了你的兴趣...)

public int myMethod(int i)
{
    return (int)Math.asin(Math.cos(i));
}

public int myMethod(int i)
{
    return ("10").indexOf(i+"");
}
public int myMethod(int i)
    {
        if (i != 0 && i != 1)
        {
            throw new IllegalArgumentException("Input should be 0 or 1");
        }
        return Integer.parseInt(new String(("10").charAt(i)));
    }