簡體   English   中英

Output 隨機數數組中的所有奇偶數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM