我有一个简单的Java代码,需要在给定某个输入的情况下将程序循环回到开头。我无法发布整个代码,因为它是用于分配的,但基本上我在末尾有一个用户输入,计算和打印结果部分,给出了之前输入的所有结果,现在我需要重新启动它。我尝试过使用do-while循环,如下所示:
do
{
System.out.println("Enter Another Student? Y or N");
sLoop = console.nextLine();
}while (sLoop.equals("Y") || sLoop.equals("y"));
但是只显示文本并结束程序而不给用户输入值的选项。但是,我知道这是错误的,因为它没有任何迹象表明它应该循环回到顶部。任何帮助表示赞赏。我会在帖子开头发布,所以你知道它看起来如何,但我无法发布整个内容。
import java.util.*;
public class ---- {
public static void main (String[] args) {
Scanner console = new Scanner (System.in);
在此之后我有用户输入,一切正常,但我对如何从开始到结束循环程序感到困惑。我想我可能不得不把我的整个代码(在Scanner控制台下)放在do中,然后放在最后放置的时候,但是我不会想到' while'会工作。我希望这是有道理的。谢谢!
此外,代码单独工作。但是当我开始输入我的数据时,它会停止工作,并且不允许用户输入。
答案 0 :(得分:0)
如果你想像10次那样循环幕帘时间:
int x = 0;
while(x < 10){
//Code here
x++;
}
如果你需要一直循环它:
boolean running = false;
那是全局布尔值
//When the program starts(Probably in constructor or main method)
running = true;
和循环:
while(running){
//Code you want to loop here
}
答案 1 :(得分:0)
您的第一个代码示例几乎就是您所需要的。看看这个运行的例子:
import java.util.Scanner;
public class LoopStudents {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String sLoop;
do {
// do something with the student
System.out.println("Enter name of student:");
String name = console.nextLine();
System.out.println("Name = " + name);
System.out.println("Enter Another Student? Y or N");
sLoop = console.nextLine();
} while (sLoop.equals("Y") || sLoop.equals("y"));
}
}