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

使用循环的简单程序(开始Java)

华萧迟
2023-03-14

我必须写一个使用循环的程序,计算a和b之间所有奇数的和(包括),其中a和b是输入。

我做了这个(如下),它工作得很好,但我注意到它有一个问题:当我输入一个较大的数字,然后输入一个较小的数字时,它返回0,但当我首先输入一个较小的数字时,它工作得很好。有什么快速的解决办法吗?:)

import java.util.Scanner;

public class ComputeSumAAndB
{

   public static void main (String[] args)
   {
       Scanner in = new Scanner(System.in); 
       System.out.print("Please enter 2 integers: "); //prompts user for ints
       int a = in.nextInt(); 
       int b = in.nextInt();
       int sum = 0;

       for (int j = a; j <= b; j++)
       {
           if (j % 2 == 1)
             sum += j;
       }
       System.out.println("The sum of all odd numbers (inclusive) between " + a + " and "+ b + " is " + sum);
   }
}

共有1个答案

龚伯寅
2023-03-14
int temp;
if(a > b) {
    temp = a;
    a = b;
    b = temp;
}

for循环开始之前将其放置。

if检查a(输入的第一个数字)是否大于b。如果是,它将交换AB。现在,您的for循环将始终从最小的数字开始,并迭代到较大的数字(因为在这个if之后,将始终是较小的数字)。

使用此方法还有一个附加的副作用,那就是使输出更有意义。现在您的输出将始终是:“在[较小的数字]和[较大的数字]之间”

 类似资料:
  • 我正在尝试运行此程序。用户输入值后,程序将输出值。我的问题是,程序应该要求用户输入任何数字以再次运行程序或-1退出,但我无法确定在代码中放置 while 循环的位置。我需要确切地知道在哪里放置 while 循环。它应该在java代码的开头还是在结尾。代码如下。

  • 我刚开始学习Haskell,但是现在没有循环是非常令人沮丧的。我想出了如何为函数编写循环。然而,我的问题是,我想在迭代循环时输出一些结果。似乎我必须使用debug来执行这个简单的任务。 所以现在我只想举一个例子,说明如何在主结构中打印字符串10次。 换句话说,我想这样做10次: 谢谢。我觉得这对我的任务很有启发。

  • 我有一个简单的Spring Boot应用程序,可以提供静态内容。我有一个索引。html页面和/src/main/resources/public中的一些js/css。我有一个简单的控制器,如下所示: 这是意料之中的事。我运行,它提供了我的html。 现在,我想修改控制器以获取路径变量: 但是现在我得到了一个500,有一个很长的“圆形视图路径”例外。 我假设现在的情况是视图解析器看到我的控制器可以处

  • Hello World Stay Hungry. Stay Foolish. 如果您是Java新手,对于命令行感到发怵的话,我们特意为您准备了可视化傻瓜化入门教程,以降低Vert.x的入门门槛。但是再怎幺傻瓜,也还是需要您具备有基本的Java语法知识,我们并不会在此介绍任何关于Java的语法知识,尤其是Java 1.8版本的基础知识,因为Vert.x 3以上版本要求Java 8以上版本方可运行,且

  • 我有一个家庭作业。。。代码如下。。。有几个问题要问。。。提前谢谢。Java初学者。。。如果这看起来很笨拙,请不要笑 有没有办法对我问的每个问题使用我的IF语句,而不必为每个问题更改字符串名称? 有没有办法创建一个方法(?)对于那些如果语句,所以我不必为我问的每一个问题写出来? 如果用户在10秒内没有输入答案,我想有一个定时器提示他们回答,我该怎么做?

  • 我想在我的循环应用程序中持续播放音乐,就像商店中的许多游戏应用程序一样。 但是,我不确定何时初始化音乐循环开始以及如何停止它。我创建了一个类,其中包含开始和停止音乐的逻辑。 我的应用程序结构也是这样的 主飞镖 Wrapper.dart