-1
我需要將一個數組轉換爲兩個單獨的數組,將賠率和均值分解。我到目前爲止,但我的輸出是不正確的。如果有人能幫我解決這個問題,我會非常感激,因爲這個週末結束了。Evens And Odds Array
import java.util.Arrays;
import java.util.Scanner;
public class EvensAndOdds
{
private static int countEm(int[] array)
{
int numOdd = 0;
for(int i=0; i< array.length; i++)
if(array[i] % 2 == 1)
numOdd ++;
return numOdd;
}
public static int[] getAllEvens(int[] array)
{
int x = 0;
int[] evens = new int[array.length - countEm(array)];
for(int i=0; i<array.length; i++)
{
if(array[i]%2==0)
{
evens[x] = array[i];
x ++;
}
}
return evens;
}
public static int[] getAllOdds(int[] array)
{
int y = 0;
int[] odds = new int[countEm(array)];
for (int i = 0; i < array.length; i++)
{
if (array[i] %2 == 1)
{
odds[y] = array[i];
y++;
}
}
return odds;
}
public static void main(String[] args)
{
int[] input = {2,4,6,8,10,12,14};
System.out.println(Arrays.toString(input));
System.out.println("odds = " + EvensAndOdds.getAllOdds(input));
System.out.println("evens =" + EvensAndOdds.getAllEvens(input));
}
}
輸出出來爲:
[2, 4, 6, 8, 10, 12, 14]
odds = [[email protected]
evens =[[email protected]
的System.out.println( 「賠率=」 + Arrays.toString(EvensAndOdds.getAllOdds(輸入))); –
它目前正在打印數組的內存地址,而不是內容,因爲您沒有使用Arrays.toString。你真的應該在你的輸入數組中輸入一個奇數,這樣你就可以判斷它是否真的找到了奇數。 –
@AndrewWilliamson:這不是內存地址,但也不是有用的信息。 :-) –