使用while循环来计算奇数1-25和偶数1-50的总和

时间:2014-09-23 04:53:14

标签: java

我有这个程序的问题,我必须写。 (首先,英语不是我的第一语言,因此我很难理解我必须为这个程序做些什么。)


Create an application Loops.java. The program must do the following:

Use a while loop to calculate the sum of the odd numbers 1-25.

Use a while loop to calculate the sum of the even numbers 1-50.

我们不会像1+3+5+7+....+25,那样添加奇数 在总值为25之前,我们也不会添加奇数。

总值将是1 to 25范围内的奇数之和,偶数将来自1-50


至于要求,会有很多概率, 例如(1 + 3 = 5), (1 + 5 = 7), (1 +7 = 9)等等

我想知道,因为来自1 to 25的奇数总共有13个奇数,而来自1-50的偶数有25偶数,所以while循环的限制是多少总奇数没有限制。

有人能想出这个例子吗?

这是我最初写的内容,但是在我的教授解释限制以及我不应该做什么之后,我完全迷失了。

public class Loops
{   
    public static void main ( String[] args )
    {
        int oddNumber = 1;
        int evenNumber = 2;

        while ( oddNumber < 25 )
        {
            oddNumber = oddNumber + 2;      
        }       
        System.out.printf ( "Total sum of the odd number is %d\n", oddNumber );

        while (evenNumber < 50)
        {
            evenNumber = evenNumber + 2;
        }
      System.out.printf ( "Total sum of the even number is %d\n", evenNumber );
    }
}

2 个答案:

答案 0 :(得分:2)

这样做:

public class Loops
{   
    public static void main ( String[] args )
    {
        int oddNumber = 0;
        int evenNumber = 0;
        int number=1;
        while ( number < 50 )
        {
            if(number <= 25 && number%2!=0){
                 oddNumber=oddNumber+number;
             }else if(number%2==0){
                 evenNumber=evenNumber+number;
             }
            number++;
        }       

      System.out.printf ( "Total sum of the odd number is %d\n", oddNumber );


      System.out.printf ( "Total sum of the even number is %d\n", evenNumber );
    }
}

您只需要一个循环,并在逻辑上管理oddeven数字的总和。

答案 1 :(得分:0)

public class Loops
{   
    public static void main ( String[] args )
    {
        int oddNumber = 1;
        int totalOdd = 0;
        int evenNumber = 2;
        int totalEven = 0;

        while ( oddNumber <= 25 )
        {
            totalOdd = totalOdd + oddNumber;
            oddNumber = oddNumber + 2;      
        }       
        System.out.printf ( "Total sum of the odd number is %d\n", totalOdd);

        while (evenNumber <= 50)
        {
            totalEven = totalEven + evenNumber;
            evenNumber = evenNumber + 2;
        }
      System.out.printf ( "Total sum of the even number is %d\n", totalEven);
    }
}

快速问题,它说1-25和1-50,这包括25和50,或排除25和50 ???

如果它被排除,代码就可以了,否则,改变&lt;进入&lt; = for 2 while循环。您的问题很难理解,所以请告诉我这是您要找的!我添加了2个新变量totalOdd和totalEven来捕获赔率和平均值的总和。之前,你只是在顶部返回奇数和偶数的值,即25和50.你到达那里的方式也没有意义,你只是在奇数和偶数路径上加2,直到你达到了可以停止while循环的所需数字。您甚至没有跟踪迭代次数。因此,我将代码更改为只将1-25中的每个数字加起来,这是奇数,每个数字1-50都是偶数,并显示结果。如果有什么不合理的话,请问。

--- --- EDIT

你说25和50包含在内,在这种情况下,我现在更新了while循环以包含结束号。