这是为了帮助您完成作业,但该网站不允许我将其标记为此类。仅供参考:除了while类型之外,我还没有学习过循环。我需要一些针对Java的while循环计数程序的帮助。我是编程的新手,所以我将尽力解释这一点。该程序将要求用户提供开始编号,结束编号和增量。我希望它能够执行4种类型的方案。前三种类型可以正常工作,但最后一种情况可以无限循环。如何更改我的代码以满足所有4种类型的方案?任何解释或帮助,表示赞赏。以下是方案,它们后面是我的代码。
起始编号<终止编号,按递增计数到终止编号并停止:您要从哪里开始计数?35您希望我数到多少?60增量?5计数35 40 45 50 55 60
起始编号>终止编号,起始编号按递增顺序递减至终止编号并停止:您要在哪里开始计数?44您希望我数到多少?-22增量?11计数44 33 22 11 0 -11 -22
起始号码=结束号码,仅输出该号码:您要在哪里开始计数?99您希望我数到多少?99增量?3计99
增量未均匀地递增或递减到结束数。它应该在到达结束号之前停止:您想从哪里开始计数?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);
}
}
}
}
你说:
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] 删除。
我来说两句