[英]Output all the odd and even numbers in the random numbers array
我聲明了一個大小為 300 的 integer 數組,隨機值從 1 到 500。我需要 output 每行 10 個數組中的所有偶數和奇數。
這是我的代碼,但我不能每行打印 10 個數字,而且它在我的數組中打印的偶數和奇數也不夠:
import java.util.Scanner;
public class Array {
public static void main(String[] args)
{
Scanner keyboard=new Scanner(System.in);
int[] A = new int[300];
for(int i=0;i<A.length;i++)
{
A[i]=(int)(Math.random()*500+1);
}
for(int i=0;i<A.length;i++){
System.out.print(A[i]+" ");
if(((i+1) % 10) == 0){
System.out.println();
}
}
System.out.println("Odd Numbers:");
for(int i=0;i<A.length;i++){
if(A[i]%2!=0 && ((i+1) % 10) == 0){
System.out.print(A[i]+" ");
}
}
System.out.println();
System.out.println("Even Numbers:");
for(int i=0;i<A.length;i++){
if(A[i]%2==0 && ((i+1) % 10) == 0){
System.out.print(A[i]+" ");
}
}
}
}
您必須使用計數器並檢查它是否count % 10 == 0
。 如果是,則轉到下一行。
public static void main(String... args) {
final IntPredicate odd = value -> value % 2 != 0;
final IntPredicate even = value -> value % 2 == 0;
int[] arr = randomArray(300);
System.out.println("Odd Numbers:");
printNumbers(arr, odd);
System.out.println();
System.out.println("Even Numbers:");
printNumbers(arr, even);
}
private static int[] randomArray(int total) {
Random random = new Random();
return IntStream.range(0, total)
.map(i -> random.nextInt(500) + 1)
.toArray();
}
private static void printNumbers(int[] arr, IntPredicate predicate) {
int i = 0;
for (int value : arr) {
if (predicate.test(value)) {
System.out.format("%3d ", value);
if (++i % 10 == 0)
System.out.println();
}
}
System.out.println();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.