I am having trouble with a boolean method, I want to check of the array is all even, odd, or neither. I input the array size and array values, however the "isArrayEven" method keeps outputting "all numbers in array is even", even if my array were to be 1,2,3 and isArrayEven is supposed to be false.
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");
}
}
}
I