如何显示小于给定数字的所有偶数?

时间:2013-12-07 14:06:31

标签: java loops

我需要显示小于特定数字的所有偶数。这些数字是在一个范围之间随机生成的。这是作业:

  

编写一个程序,提示用户输入一个整数(n)。你的程序然后生成,另一个随机   整数(max),最多可达10 * n。因此,如果n输入为5,则生成的数字(max)应为   在5到50之间(5 * 10)。该程序显示所有偶数小于(最大)的总和。你的计划   在达到大于最大值的第一个总和值处停止。显示其值。

到目前为止我做了什么:

Scanner s = new Scanner(System.in);
System.out.print("Enter an integer: ");

int n = s.nextInt();
int most = (10 * n) - (n+1);
int max = (int)( n + Math.random() * most);

System.out.println("Maximum generated is: "+ max);

for(int i = 2 ; i < max; i+=2) {
    int num = max/i;
    if(num % 2 == 0) {
        System.out.print("number is "+ num);
    }    
}

示例运行:

Enter an integer: 5
Maximum generated is: 45
Sum of (6 8 10 12) = 50 //we stopped because 50 is the first sum greater
                        //than max

怎么了?

2 个答案:

答案 0 :(得分:0)

我认为你的逻辑应该是这样的,

int sum = 0;
int i = 2;
while (i<max) {
    sum+=i;
    if (sum > max) {
        break;
    }
    i+=2;
}
System.out.print("Value=" + sum);

答案 1 :(得分:0)

你可以这样做:

for(int i=0; i<max; i=i+2){
  sum+=i;
}

的System.out.println(总和); 然而,听起来确实可能存在更快的直接数学公式,用于计算所有偶数的总和,但是这是另一个堆栈交换的问题。