如何使用用户输入让While循环计数而不是无限循环?

用户名

这是为了帮助您完成作业,但该网站不允许我将其标记为此类。仅供参考:除了while类型之外,我还没有学习过循环。我需要一些针对Java的while循环计数程序的帮助。我是编程的新手,所以我将尽力解释这一点。该程序将要求用户提供开始编号,结束编号和增量。我希望它能够执行4种类型的方案。前三种类型可以正常工作,但最后一种情况可以无限循环。如何更改我的代码以满足所有4种类型的方案?任何解释或帮助,表示赞赏。以下是方案,它们后面是我的代码。

  1. 起始编号<终止编号,按递增计数到终止编号并停止:您要从哪里开始计数?35您希望我数到多少?60增量?5计数35 40 45 50 55 60

  2. 起始编号>终止编号,起始编号按递增顺序递减至终止编号并停止:您要在哪里开始计数?44您希望我数到多少?-22增量?11计数44 33 22 11 0 -11 -22

  3. 起始号码=结束号码,仅输出该号码:您要在哪里开始计数?99您希望我数到多少?99增量?3计99

  4. 增量未均匀地递增或递减到结束数。它应该在到达结束号之前停止:您想从哪里开始计数?23您想让我数到多少?46增量?6计数23 29 35 41

导入java.util.Scanner;

公共课数{

public static void main(String[] args) {

    int counter, limit, inc;

    Scanner input = new Scanner(System.in);

    System.out.println("Where do you want to start counting?");
    counter = input.nextInt();

    System.out.println("How far do you want me to count?");
    limit = input.nextInt();

    System.out.println("Increment?");
    inc = input.nextInt();

    System.out.println("COUNTING");
    System.out.println(counter);

    while (counter != limit) {
        if (counter < limit) {
            counter = counter + inc;
            System.out.println(counter);

        }
        else if (counter > limit) {
            counter = counter - inc;
            System.out.println(counter);

        }

    }

}

}

Aarowaim

你说:

 while (counter != limit) {
    if (counter + inc < limit) {
        counter = counter;
        System.out.println(counter);

    } else if (counter - inc > limit) {
        counter = counter;
        System.out.println(counter);

    }

如果计数器!=限制,这将告诉计算机继续运行。计数器几乎可以确定永远不会==限制。想象一下:限制=43。如果增加6,则只有六分之一的机会从43开始。(42-38 + 6!= 43),(37 + 6 == 43) 。保持计数而没有计数器==限制(打破while循环)的方法有很多。

尝试将while循环放入if语句中:

//edited to resolve issue brought up in comments
if (counter < limit) {
    while (counter < limit + inc) {
        //until counter is bigger than limit, count up by inc
        counter += inc;
        System.out.println(counter);
    }
} else if (counter > limit) {
    while (counter > limit - inc) {
        //until counter is smaller than limit, count down by inc
        counter -= inc;
        System.out.println(counter);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章