Java - 在数组中查找偶数和它们的百分比

0 java

这是我需要弄清楚的问题:

编写一个名为percentEven的方法,该方法接受一个整数数组作为参数,并将数组中偶数的百分比作为实数返回.例如,如果数组存储元素[6,2,9,11,3],那么您的方法应返回40.0.如果数组不包含偶数元素或根本没有元素,则返回0.0.

这是我到目前为止:

import java.util.*;

public class Change {
    public static void main(String[] args) {


    Scanner console = new Scanner(System.in);

    System.out.println("Let's find the range.");
    System.out.println("Enter five numbers to find the range.");

    int num = console.nextInt();
    int[] list = new int[num];

    System.out.println("The numbers you entered are: " + list.length); 
    System.out.println();

    percentEven(list);

    }

    public static void percentEven(int[] num){

        int percent = 0;
        int even = 0;

        for(int i = 0; i < num.length; i++){
            if(num[i] % 2 == 0){
            even++;
            }

        }  

      percent = (even / num.length) *100;

        System.out.println("The percent of even numbers is: " + percent);      
    }


}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到100%的百分比.

Obi*_*ere 5

这里有两个问题:

将其中一个投入双人或浮动.

percent = (even / (double) num.length) *100;
Run Code Online (Sandbox Code Playgroud)

另一个问题是你永远不会为数字分配任何值,因此它们都是0. 0 % 2等于0,因此根据定义,列表是100%偶数.


您还应该在方法中有一个基本案例nums == {},它将作为赋值状态返回0.0.

  • 它给出了100%,因为所有数字都是零.如果有任何奇数,由于整数除法,它将给出0%. (2认同)