我正在做一個基本的java編程的在線課程,而且我的老師給了我一個任務,讓用戶選擇一些隨機數字,這些數字會出現在屏幕上到一個數組中,那麼該數組必須被複制,然後該數組必須被另一個數組中的偶數/奇數排序,然後必須將其打印在屏幕上。按奇數或偶數排列數組
例如 用戶將選擇10個數字出現在屏幕上。 可以說下面的10個數字。 然後在下面的行應該說 586 36 980 902 982 998 - 357 843 93 909 並在最後一行有多少偶數/不均勻數字那裏 有6偶數和4個不均勻的數字。
但我不知道如何將數組元素到我的代碼中的正確位置。
import java.util.Arrays; import java.util.Scanner;
public class Assignment 4
{
public static void main(String[] args)
{
final int LENGTH = 1000;
int[] values = new int[LENGTH];
int currentSize = 0;
int quantity = 0;
double randomnumber = 0;
int odd = 0;
int even = 0;
System.out.print("How many random numbers between 0 - 999 do you want?");
Scanner scan = new Scanner(System.in);
quantity = scan.nextInt();
while (quantity > currentSize && currentSize < values.length)
{
randomnumber = (Math.random() * 1000);
int rounded = (int) Math.round(randomnumber);
values[currentSize] = rounded;
currentSize++;
}
System.out.print("\nHere are the randomnumbers: ");
for (int i = 0; i < currentSize; i++)
{
System.out.print(values[i]);
System.out.print(" ");
}
int[] values2 = Arrays.copyOf(values,values.length);
int[] values3 = new int [quantity];
System.out.print("\nHere are the randomnumbers in order: ");
for(int i = 0; i < currentSize; i++)
{
if(values2[i] %2 == 0)
{
values3[i] = values2[i];
}
if(values2[i] %2 == 0)
{
even++;
}
else
{
odd++;
}
}
for (int i = 0; i < currentSize; i++)
{
System.out.print(values3[i]);
System.out.print(" ");
}
System.out.print("\nIt was " + even);
System.out.print(" even numbers, and ");
System.out.print(odd);
System.out.print(" odd numbers");
}
}
而且我不能使用Arraylist或任何其他方法。
而我現在編碼還沒有完成,但如果有人可以幫我把第二個數組中的元素放在第三個數組中的正確順序。
排序需要排序的算法有很多種不同的排序算法,或許選擇排序[選擇排序計算器( http://stackoverflow.com/questions/8362640/java-selection-sort-algorithm) –
@Luminous_Dev根據聲明,這個想法只是先把偶數和最後的奇數...在t他生成的順序相同。 – Dazak