Java中接下来的10个偶数数组

时间:2016-11-24 16:45:09

标签: java arrays

我必须使用数组来处理大学问题,这就是:

编写一个Java程序,它将创建一个大小为10的数组,并将前10个偶数放在比给定用户输入更大的位置。

这就是我尝试的但我无法获得正确的输出

import java.util.Scanner;
public class EvenNumbers
{
    public static void main (String args[])
    {
        Scanner scan = new Scanner(System.in);
        int array[]=new int[10];

        System.out.println("Please enter a number:");
        int num = scan.nextInt();
        num+=1;
        int i=0;

        while(i<10)
        {
            if(num/2==0)
            {
                array[i]=num;
                num++;
                i++;
            }
            else
                num++;
        }



        for(int j=0; j<array.length; j++)
        {
            System.out.print(array[j]);
        }
    }
}

3 个答案:

答案 0 :(得分:2)

您应该检查num%2==0而不是num/2==0

此外,您还可以通过仅对偶数进行迭代来简化程序:

num++;
if (num % 2 == 1) // make sure that num is even
    num++;

for(int i = 0; i < 10; i++)
{
    array[i] = num;
    num += 2; // jump to the next even number
}

答案 1 :(得分:1)

您可以使用if (n % 2 == 0),因为如果if (n % 2 == 0) 甚至n可以运行,n可以平均分为2)。如果if (n % 2 == 1) 奇数,则n会运行。%符号称为 mod 。它喜欢划分和获得剩余部分。

试试这个:)

import java.util.Scanner;
public class EvenNumbers
{
    public static void main (String args[])
    {
        Scanner scan = new Scanner(System.in);
        int array[]=new int[10];

        System.out.println("Please enter a number:");
        int num = scan.nextInt();
        num+=1;
        int i=0;

        while(i<10)
        {
            if(num%2==0)
            {
                array[i]=num;
                num++;
                i++;
            }
            else
                num++;
        }



        for(int j=0; j<array.length; j++)
        {
            System.out.print(array[j]);
        }
    }
}

答案 2 :(得分:1)

只是为了好玩,你可以使用java-8 IntStream class

来做到这一点
 IntStream.iterate(++num + num % 2, i -> i + 2).limit(10).forEach(System.out::println);
 // ++num;  generated numbers should be greater than the given user input
 // ++num + num % 2; num variable should be even itself.