JAVA中的for循环运行一次后如何停止,但是还可以在输入数字后继续运行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中的for循环运行一次后如何停止,但是还可以在输入数字后继续运行?相关的知识,希望对你有一定的参考价值。

参考技术A import java.util.Scanner;
public class Test
public static void main(String[] args)
Scanner in=new Scanner(System.in); //定义输入
double startNum=1;//起始数
int endNum=5;//结束数
System.out.println("从1到"+endNum+"求合计和平均数!");
for(int i=0;i<=endNum;i++) //循环输入成绩
if(i==0)
System.out.print("请输入额外一个整数参与计算:");
int inputNum=in.nextInt(); //进行输入
startNum=(startNum-1)+inputNum;

startNum+=i;

System.out.println("合计为:"+startNum); //输出平均成绩
System.out.println("平均值为:"+startNum/endNum); //输出平均成绩

如何强制结束 for 循环的迭代(不停止 for 循环)?

【中文标题】如何强制结束 for 循环的迭代(不停止 for 循环)?【英文标题】:How to forcefully end an iteration of a for-loop (without stopping the for-loop)? 【发布时间】:2019-04-10 10:34:35 【问题描述】:

这可能是一个愚蠢的问题,但这里是。有没有办法强制结束 for 循环的迭代并忽略循环中的所有其他条件语句,然后进行下一次迭代?

我正在尝试制作一个工具,只要用户输入一个字母,它就会被打印到画布上。

我正在使用 for 循环来执行此操作,每次迭代都会使下一个字母每次都向右移动。

在for循环中包含了输入字母的条件语句:

function draw()

function keyPressed()
    for(i=0; i<100; i++)
        if(keyCode == 65)
            text("a", 60 + i*10, 60)
        
        ...
        ...
        ...
    

等等等等。但是,这只有在每个字母移动到下一次迭代之后才有效(否则,由于 'i' 没有增加,字母将被打印在同一个地方,使其不可读)。

在每个条件语句的末尾使用“return”对我不起作用,因为“return”结束了整个 for 循环,而我只想结束特定的迭代。

感谢所有帮助,谢谢。

【问题讨论】:

您是否尝试过将其视为一个 while 循环?这样您在按下键时注册输入,而不是运行有限次的 for 循环? @IncrediblePony 感谢您的回复。我确实考虑过使用 while 循环,但主要问题仍然存在。我只能够输入有限数量的单词(100)没有问题。我只需要能够强制跳转到下一个迭代。无论如何谢谢你。 【参考方案1】:

听起来您正在寻找continue 关键字。以下是来自W3Schools 的示例:

for (i = 0; i < 10; i++) 
  if (i === 3)  continue; 
  text += "The number is " + i + "<br>";

Here 是一个可以自己尝试代码的链接。

但退后一步,这感觉像是一个有缺陷的设计。如果你想得到他们用户按下的键,你不必使用一堆if 语句。您可以只使用 key 变量。来自P5.js reference:

function setup() 
  fill(245, 123, 158);
  textSize(50);


function draw() 
  background(200);
  text(key, 33, 65); // Display last key pressed.

即使由于某种原因这不起作用(例如,如果您想为箭头键显示某些内容),也可能有比@987654330 中的一堆if 语句更好的方法来解决这个问题@ 环形。例如,您可以创建从keyCode 到要显示的字符串的映射,然后调用该映射。比如:

var m = new Map()
m.set(65, 'a');
m.set(66, 'b');
//..

function keyPressed()
  text(m.get(keyCode), 50, 50);

【讨论】:

以上是关于JAVA中的for循环运行一次后如何停止,但是还可以在输入数字后继续运行?的主要内容,如果未能解决你的问题,请参考以下文章

labview停止循环为啥波形会清除一次

如何强制结束 for 循环的迭代(不停止 for 循环)?

怎么在java main方法里用一个线程的sleep()方法让一个循环执行一次后阻塞一秒再循环下一次

Python for 循环在第一次迭代后停止

for循环

在java里面如何运行多条cmd命令?我是用for来循环,一次运行一条,可是老是不执行。