java - 数组中的偶数/奇数值
问题描述
我在使用布尔方法时遇到问题,我想检查数组是偶数、奇数还是两者都不是。我输入了数组大小和数组值,但是“isArrayEven”方法一直输出“数组中的所有数字都是偶数”,即使我的数组是 1、2、3 并且 isArrayEven 应该是假的。
import java.util.Scanner;
public class OddOrEven {
public static boolean isArrayEven(int[] arrayValues, int arraySize){
for(int i = 0; i <= arraySize -1; i++)
{
if(arrayValues[i] % 2 == 0)
{
return true;
}
}
return false;
}
public static boolean isArrayOdd(int[] arrayValues, int arraySize){
for(int i = 0 ; i < arraySize ; i++)
{
if(arrayValues[i] % 2 == 1)
{
return true;
}
}
return false;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int arraySize = scan.nextInt();
int[] arrayValues = new int[arraySize];
for(int i = 0; i <= arraySize-1; i++)
{
arrayValues[i] = scan.nextInt();
}
if(isArrayEven(arrayValues,arraySize) == true)
{
System.out.println("all numbers in array is even");
}else if(isArrayOdd(arrayValues,arraySize) == true)
{
System.out.println("all numbers in arrat is odd");
}else if(isArrayEven(arrayValues,arraySize) == false && isArrayOdd(arrayValues,arraySize) == false)
{
System.out.println("both have even and odd");
}
}
}
我
解决方案
你回来得太早了。您需要稍微翻转和修改您的 if 语句。看看这个:
public static boolean isArrayEven(int[] arrayValues, int arraySize){
for(int i = 0; i <= arraySize -1; i++)
{
if(arrayValues[i] % 2 != 0)
{
return false;
}
}
return true;
}
public static boolean isArrayOdd(int[] arrayValues, int arraySize){
for(int i = 0 ; i < arraySize ; i++)
{
if(arrayValues[i] % 2 == 0)
{
return false;
}
}
return true;
}
在这里,我稍微修改了 if 语句。
在该isArrayEven
方法中,我false
在第一次出现奇数时返回。如果没有odd
出现数字,我返回true
.
在该isArrayOdd
方法中,我false
在第一次出现偶数时返回。如果没有偶数出现,我返回true
.
推荐阅读
- .net - 使用 dotnet run --project 选项时出现 NullReferenceException
- html - 显示灵活的图像网格
- python - 如何使用 datetime 库和 strptime 方法将 '12/01/2020' 转换为 datetime 对象?
- itext - Itext Html2pdf 内存管理
- excel - 在 Excel 中有一个带有数据验证的自定义文本列表
- python - Shazam 检测 API 抛出 HTTP 406 Not Acceptable
- java - 使用 KeyFactory 解析公钥
- python - python数据流作业在部署后使用requirements_file参数后不接受来自pubsub订阅的消息
- amazon-web-services - 当我尝试在 AWS Lambda 函数(python)中使用 bash 脚本创建文件时出现错误“只读文件系统”
- c++ - 使用 QProcess 调用带有参数的外部程序