我正在我的大学课程中研究一个简单的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++;
}
}
}
}
问题在于你的逻辑。您有以下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);
这应该足以帮助你,我不会为你写作业,这不是我们在这里做的。
我将把检查输入和计算结果这两个问题分开。以下是我将如何计算它:
int sum = IntStream.rangeClosed(firstNum, secondNum).filter(i -> i % 2 == 0).sum();
我创建了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,到目前为止,我一直没有尝试: 问题答案: