java:如何计算数字列表中偶数值的数量?

时间:2014-10-10 11:20:58

标签: java

该程序应该做的是:用户应输入值的数量,然后获取值列表中偶数的平均值。我被困在需要获得偶数值的地方以获得平均值。

import javax.swing.JOptionPane;

class SumOfEven {

    public static void main(String args[])
    {
        int n;
        int sum=0;
        double avg;
        String Numbers;
        int even;

        Numbers = JOptionPane.showInputDialog("How Many Numbers In The List ??");
        n = Integer.parseInt( Numbers);

        for(int i=0;i<=n;i++)
        {
            if(i%2==0)
            {
                System.out.println("Number of Even Numbers In This List = "+i);
            }
        }

        for(int x=0;x<=n;x+=2){
           sum+=x;

        }

        avg=sum/n;
        System.out.println("sum of even numbers is =" +sum);
        System.out.println("avgerage of even numbers is =" +avg);

        System.exit(0);
    }
}

5 个答案:

答案 0 :(得分:1)

试试这个

int count = 0;
for(int i=0;i<=n;i++)
{
    if(i%2==0)
    {
       ++count;
    }
}

System.out.println("Number of Even Numbers In This List = "+count);

答案 1 :(得分:1)

使用计数器以这种方式获得偶数值(c是计数器):

  int c = 0;
    for(int i=0;i<=n;i++)
    {
        if(i%2==0)
        {
           c++;
        }
    }
    System.out.println("Number of even number in list = "+ c);

答案 2 :(得分:0)

当你将它除以2时,偶数的余数为零。

因此,你可以使用类似的东西:

if ((number % 2) == 0)
    evenCount++;

答案 3 :(得分:0)

Java 8 中,您可以将Stream API用于此

long count = IntStream.range(0, n).filter(e -> e % 2 == 0).count();

答案 4 :(得分:0)

如果您有连续的数字0..n,那么其中一半将是偶数。所以,假设你将0作为偶数:

int countOfEven = n/2 + 1;

如果您的数字不是以0开头但具有不同的值,则可以执行以下操作:

int min = ...; // your minimum value
int max = ...; // your maximum value
int countOfEven = (max - min) / 2;
if(min % 2 == 0) {
    countOfEven += 1;
}