java - 两个偶数和两个奇数并排出现
问题描述
给定一个整数数组,如果两个偶数和两个奇数在数组中相邻出现,则打印 true
我试图使用“布尔”解决这个问题,但没有得到预期的结果。
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);
预期结果:
2Odd+2Even:true
实际结果:
2Odd+2Even:false
解决方案
问题是您break;
只退出内部循环。即使在找到匹配项之后,您仍然会继续外循环,该循环将bool
在下一次迭代中设置为 false。
无需改变太多,您可以简单地添加
if(bool){
break;
}
找到匹配项后,在外循环结束时将其保留。
推荐阅读
- javascript - 如何在未聚焦的选项卡中运行 JS 脚本?
- ruby - 访问外部上下文的自我
- java - Android Mixing Java and Kotlin,找不到Kotlin文件
- javascript - 当表单为空时,按登录按钮打开页面。我必须犯错
- amazon-web-services - 尝试使用创建的 aws 上下文时 Docker 中断
- node.js - 找不到上传的文件 - multer
- django - 如何从表单中的用户获取标签并将其保存到 django 中的数据库
- string - 用来自不同文件的字符串替换文件中的字符串
- codenameone - [codenameone]应用构建不支持 iPadOs 15
- c - 你可以在 WINAPI 中在父级之前绘制子级吗?