当前位置: 首页 > 知识库问答 >
问题:

两个整数之间偶数的输出和

劳通
2023-03-14

我正在我的大学课程中研究一个简单的JAVA问题。我被这个节目难住了。我将展示我到目前为止所拥有的,并给出我必须回答的问题。我也在StackOverflow上看了一个类似的问题,但它不是同一个问题,所以没有帮助。我需要编写的程序是:

编写一个使用“while”循环执行以下步骤的程序:

a、 )提示用户输入两个整数:“firstNum”和“secondNum”(firstNum必须小于secondNum)

b、 )输出“firstNum”和“secondNum”之间的所有奇数(包括)。

c、 )输出“firstNum”和“secondNum”之间的所有偶数之和。

这是我到目前为止...(我还需要计算偶数并加起来)

//import classes
import java.util.*;

public class chapter5no9
{
    static Scanner console = new Scanner(System.in);

    public static void main(String[] args)
    {

    //Part A
    int firstNum;
    int secondNum;
    int sumEven;

    System.out.println("Please enter an integer: ");
    firstNum = console.nextInt();

    System.out.println("Please enter another integer less than the first integer: ");
    secondNum = console.nextInt();

    //Part B
    if (firstNum < secondNum)
    {
        System.out.print("Your second number is greater than the first.  So Please re-enter: ");
        secondNum = console.nextInt();
    }
    else
    {
        System.out.print("Odd Numbers: ");
        firstNum++;
        while (firstNum > secondNum)
        {
            if (secondNum % 2 != 0)
            {
                System.out.print(" " + secondNum);
            }
            secondNum++;
        }

        System.out.println();
        System.out.print("Sum of Even Numbers: ");
        firstNum++;
        while (firstNum > secondNum)
        {
            if (secondNum % 2 != 0)
            {
                System.out.print(" " + secondNum);
            }
            secondNum++;
        }
    }
}

}

共有3个答案

仲孙奇
2023-03-14

问题在于你的逻辑。您有以下if语句:

if (firstNum < secondNum)
{
    System.out.print("Your second number is greater than the first.  So Please re-enter: ");
    secondNum = console.nextInt();
}

检查第二个数字是否大于第一个数字(您希望它是),然后要求他们重新输入。您要检查if(secondNum

然后你有这个if(第二个Num%2!=0)来检查奇数,这是正确的,但是你复制粘贴它来检查偶数,这是行不通的,你也需要改变它。

然后,您将输出循环中的所有偶数整数,而实际上您希望将其添加到一个evenSum变量中,并在循环结束时输出:

System.out.println("The sum of all even integers is: " + evenSum);

这应该足以帮助你,我不会为你写作业,这不是我们在这里做的。

贝阳泽
2023-03-14

我将把检查输入和计算结果这两个问题分开。以下是我将如何计算它:

int sum = IntStream.rangeClosed(firstNum, secondNum).filter(i -> i % 2 == 0).sum();
商燕七
2023-03-14

我创建了loopCounter变量来处理所需的迭代,而不更改用户输入的值。对代码进行了以下更改。

A部分:添加了一个同时循环来验证用户输入。还更改了if语句中的逻辑。

B部分:使用一个循环打印奇数和偶数总数

   //Part A
   int firstNum;
   int secondNum;
   int sumEven=0;

   System.out.println("Please enter an integer: ");
   firstNum = input.nextInt();

   System.out.println("Please enter another integer less than the first integer: ");
   secondNum = input.nextInt();

   //Part B

   //validate input in a loop
   while(true)
   {
     if (firstNum > secondNum)
     {
         System.out.print("Your second number is larger than the first.  So Please re-enter: ");
         secondNum = input.nextInt();
     }
     else
     {
         break;
     }
   }

       System.out.print("Odd Numbers: ");
       int loopCounter=firstNum;
       while(loopCounter<secondNum)
       {
         if (loopCounter%2!=0)
         {
             System.out.print(" " + loopCounter);
         }//end if
         else
         {
             sumEven+=loopCounter;
         }//end else
         loopCounter++;
       }

       System.out.println();
       System.out.print("Sum of Even Numbers: ");    
       System.out.print(sumEven);

   }
 类似资料:
  • 我想求两个整数之间的偶数奇偶数的个数。以下是我目前所写的内容: 这个很管用。但是,和这两个整数之间的差值可能高达,这意味着类似这样的解决方案是行不通的。是否有一个更有效的,即解决方案来解决这个问题?

  • 编辑:哈哈,我从没想过你们会这么野蛮。我想这是一个大学生来寻找答案的好地方。如果我不在乎,为什么我会在这里。。基本上,我的问题与其他问题不同,因为我确实需要第一个循环来陈述我的偶数,即:1012146181820。我真诚地希望我能得到一些关于如何在第二个循环中恢复firstNum的原始值的反馈,而不是期望在几秒钟内被选为分数答案的批评。 我已经实现了一个代码,我在论坛上的一个非常相似的问题中看到了

  • 本文向大家介绍奇数和偶数之和之间的差。,包括了奇数和偶数之和之间的差。的使用技巧和注意事项,需要的朋友参考一下 问题陈述 对于给定的长整数n,编写一个程序以查找奇数位和偶数位总和之间的差是否为0。索引从0开始。 示例 示例 以下是Java中的程序,用于查找所需的输出。 输出结果

  • 我是Java新手,为了练习,我在互联网上找到了一项任务: "在你输入的两个数字之间找到所有完美的数字。" 顺便说一下——一个完美的数字是一个自然数,等于它所有除数的和。所以我开始工作,遇到了这样一个问题,当我输入两个数字时。 例如:,我在控制台中得到正确答案:。但是,如果第一个数字是,例如,,第二个是,我会将此输出输出到控制台:,而我应该只得到。也就是说,出于某种原因,最小值不会缩短对完美数的搜索

  • 问题内容: 它给出以下内容: 但是我想获得下个月的定义,该怎么办? 问题答案: 表达方式 给。我们期望这两个值都指向每月的最后几天。如果将1天添加到值中,我们将获得下个月的第一天, 会给我们1个月的预期时间。因此,让我们检查是否有一个月的最后两天,在这种情况下,我们要返回第二天的年龄间隔。在其他情况下,我们将返回原始值的年龄间隔: 一些例子:

  • 问题内容: 如何确定给定的整数是否在其他两个整数之间(例如大于/等于10000和小于/等于30000)? 我使用的是2.3 IDLE,到目前为止,我一直没有尝试: 问题答案: