java - 两个偶数和两个奇数相邻出现

标签 java

Given an array of integer, print true if two even and two odd numbers appear next to each other in the array

我尝试使用“boolean ”来解决这个问题,但没有得到预期的结果。

int[] arr={2,4,5,7,8,9,10};
int len=arr.length;
boolean bool = true;

for (int i=0; i<len-1; i++)
{
    int n=arr[i];
    int m=arr[i+1];
    if (n%2==0 && m%2==0)
    {
        for (int j=i+2; j<len-1; j++)
        {
            int a=arr[j];
            int b=arr[j+1];
            if (a%2!=0 && b%2!=0)
            {
                bool=true;
                break;
            }
            else
                bool=false;
        }
    }
    else
    {
        for (int j=i+2; j<len-1; j++)
        {
            int a=arr[j];
            int b=arr[j+1];
            if (a%2==0 && b%2==0)
            {
                bool=true;
                break;
            }
            else
                bool=false;
        }
    }
}
System.out.println("2Odd+2Even:"+bool);

Expected Result: 2Odd+2Even:true

Actual Result: 2Odd+2Even:false

最佳答案

问题是您的 break; 仅退出内部循环。即使找到匹配项后,您仍然会继续外循环,这将在下一次迭代中将 bool 设置为 false。
无需进行太多更改,您只需添加

if(bool){
    break;
}

在外循环的末尾,找到匹配项后将其保留。

关于java - 两个偶数和两个奇数相邻出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57574479/

相关文章:

java - 迁移到 Jersey 2.25 时替换 Jersey 1.19 中的 InjectableProvider

java - Android扩展Activity

java - 错误 : Unable to run the app with Firebase jar included

java - 使用 SQLite 进行简单的数学计算 - Android

java - 使用 Exception 来防止使用不需要的参数实例化类是一个好习惯吗

c++ 中的 java.lang.Field 等价物

java - Selenium 。 Selenium 化物。由于某种原因找不到 org.openqa.selenium.WrapsDriver 的类文件

java - 如何在单击 ListView 项目时出现勾号并且不会消失,直到单击的下一个项目在转到另一个 Activity 时也不会消失

java - dalvik.system.PathClassLoader 无法转换为 java.net.URLClassLoader

java - 如何在旋转时保持应用程序的相同状态?