构造一个N输入 ;或门。或门返回0 ;如果它的所有输入都是0,则使用java
确切的问题 构造一个N输入或门。如果“或”门的所有输入都为0,则“或”门返回0 为0,否则为1构造一个N输入 ;或门。或门返回0 ;如果它的所有输入都是0,则使用java,java,loops,variables,Java,Loops,Variables,确切的问题 构造一个N输入或门。如果“或”门的所有输入都为0,则“或”门返回0 为0,否则为1 输入: 3//这些是测试用例 2//这些是输入的数量 1//这些是输入 3/这些 0 0 0 四, 110 输出:1//1个案例的o/p 第二种情况为0//o/p 一, 此代码导致运行时错误 扫描程序java:907、java:1530、java:2160等错误 GFG类{ 静态整数或(整数a[],整数n,整数x){ 对于(int i=0;i0){ int n=in.nex
- 输入:
- 3//这些是测试用例
- 2//这些是输入的数量
- 1//这些是输入
- 3/这些
- 0 0 0
- 四,
- 110
- 输出:1//1个案例的o/p
- 第二种情况为0//o/p
- 一,
GFG类{
静态整数或(整数a[],整数n,整数x){
对于(int i=0;i0){
int n=in.nextInt();
对于(int i=0;i您的代码在大部分情况下都能正常工作,但是:
for(int i = 0; i < n; i++) {
if(x == 0)
return 0;
}
return 1;
你想要的是:
for(int i = 0; i < n; i++) {
if(a[i] == 0)
return 0;
}
return 1;
“输入”对话框:
你可以使用网站提供的示例输入。你要求一个或门,但你的方法称为XOR。此外,你还有两个无法解释的方法参数。对不起,我给它命名为XOR,先生,但我想知道我的两个参数是如何解释的。对不起,我知道我问了一些愚蠢的问题,但我是初学者,我知道我不是你可以在这里找到这个代码:但是你在哪里,或者a[I]和a[I+1],基本上我用变量x来存储值a[I]| a[I+1]@user3427015不。你没有。在你的代码中,你做了两次相同的工作……让我解释一下:在或函数中,你在数组中迭代寻找零值,如果它在那里,这意味着你应该返回0。当你做x=x+a[i]| a[i+1]时,你正试图做完全相同的事情
因此,如果您使用了x
变量,您首先就不需要数组a
。非常感谢您的帮助,先生……但是我非常抱歉,我尝试了您的代码,它显示了相同的错误。这里是链接:
if(x == 0) return 0; else return 1;
for(int i = 0; i < n; i++) {
if(a[i] == 0)
return 0;
}
return 1;
public static void main (String[] args) {
int x = 0; // assume x is 0.
Scanner in = new Scanner(System.in);
int t = in.nextInt();
while(t > 0) {
int n = in.nextInt();
x = 0; // reinitialise x each time.
for(int i = 0; i < n; i++) {
// if and only if all inputs are 0 will x be 0.
// if any input is 1 -> x | 1 is 1 no matter what x. So the result will be 1.
x = x | in.nextInt();
}
System.out.println(x);
t--;
}
in.close();
}