Java 请求是/否返回循环
如果用户回答Y/Y,如何返回到try循环?我知道下面的代码没有询问用户的是否要重试(Y/N)?。目前我只能使用bufferedReaderJava 请求是/否返回循环,java,loops,Java,Loops,如果用户回答Y/Y,如何返回到try循环?我知道下面的代码没有询问用户的是否要重试(Y/N)?。目前我只能使用bufferedReader import java.io.*; public class Num10 { public static void main(String[] args){ String in=""; int start=0, end=0, step=0; BufferedReader input = new Bu
import java.io.*;
public class Num10 {
public static void main(String[] args){
String in="";
int start=0, end=0, step=0;
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.print("Input START value = ");
in=input.readLine();
start=Integer.parseInt(in);
System.out.print("Input END value = ");
in=input.readLine();
end=Integer.parseInt(in);
System.out.print("Input STEP value = ");
in=input.readLine();
step=Integer.parseInt(in);
}catch(IOException e){
System.out.println("Error!");
}
if(start>=end){
System.out.println("The starting number should be lesser than the ending number");
System.exit(0);
}else
if(step<=0){
System.out.println("The step number should always be greater than zero.");
System.exit(0);
}
for(start=start;start<=end;start=start+step){
System.out.println(start);
}
System.out.println("\nDo you want to try again (Y/N)?");
}
}
import java.io.*;
公共类Num10{
公共静态void main(字符串[]args){
在“”中输入字符串;
int start=0,end=0,step=0;
BufferedReader输入=新的BufferedReader(新的InputStreamReader(System.in));
试一试{
系统输出打印(“输入起始值=”);
in=input.readLine();
start=Integer.parseInt(in);
系统输出打印(“输入结束值=”);
in=input.readLine();
end=Integer.parseInt(in);
系统输出打印(“输入步长值=”);
in=input.readLine();
步长=整数.parseInt(in);
}捕获(IOE异常){
System.out.println(“错误!”);
}
如果(开始>=结束){
System.out.println(“起始编号应小于结束编号”);
系统出口(0);
}否则
如果(步骤Ado…while
循环适用于此
boolean again = false;
do
{
// your code here
again = askQuestion();
} while(again);
或者您可以使用常规的while
循环:
boolean again = true;
while(again)
{
// your code here
again = askQuestion();
}
对于这两种方法,askQuestion
是另一种向用户提问并返回true
或false
usedo{……}while();
比如:
如果用户回答Y/Y,如何返回到try循环?
您不能返回到尝试{….}
。您必须使用
public static void main(String... args){
//your code
}
而不是publicstaticvoidmain(String[]args){}
要返回,请在所需的代码位置使用main();
如果用户回答Y/Y,如何返回到try循环
try
不会创建循环。这就是问题所在
循环自动“返回”,直到循环结束。这就是循环的原因
因此,您在try块周围放置了一个实际的循环,并在循环结束时询问问题,如果回答为N/N,则中断循环(或其他任何形式;如果输入是其他垃圾,您可以自行决定如何处理).do
-while
循环是合适的,因为它在结束时检查退出条件,而不是在开始时(如while
和for
)。while
,do…while
,for
,以及for…each
。while循环是最简单的。它如下所示:
while (condition) {
// Some code
}
do {
// Code
} while (condition);
boolean condition = true;
while (condition) {
// Your code
try {
while (true) { //Creates an infinite loop
in = input.readLine();
if (in.equalsIgnoreCase("y")) {
condition = true;
break;
} else if (in.equalsIgnoreCase("n")) {
condition = false;
break;
} else {
System.out.println("Please enter either Y or N.");
}
}
} catch (IOException e) {
System.out.println("ERROR!");
}
}
基本上,在我放置“条件”的地方,您可以放置任何布尔值。布尔值只是一个值,可以是true
或false
,而不是其他值。在Java中,您可以创建boolean
类型的变量,但通常情况下,您不会显式创建布尔值
相反,您将使用条件语句。例如,x
、x==y
和x>=y
都是“条件语句”。这意味着,它们最终将计算为布尔值。因此,在本代码中:
int x = 1;
int y = 5;
if (x < y) {
// Code
}
do…while
的工作原理与while
相同,但它始终至少运行一次,即使条件为false
<<代码> > 和int i = 0;
while (i < 10) {
System.out.println("I is: " + i);
i++;
}
该代码将执行与第一个代码相同的操作,但是它使用了一个for
循环。正如您所看到的,for
循环有三个部分。在第一个部分中,您可以声明一个变量,在第二个部分中,您可以放置一个条件,在第三个部分中,您可以放置一些在循环的每次迭代中运行的内容。for
循环在对数组进行迭代,但您可能还没有学会,所以不要担心
每个循环的for…都比其他循环复杂,因此,如果您还不了解它,请不要担心。基本上,这是获取列表的所有元素或集合API中的任何内容的快速方法。例如,假设您有一个字符串列表,您可以使用它来获取列表中的所有字符串:
for (String string : aList) {
System.out.println(string);
}
这将遍历列表中的每个字符串并将其打印出来
不管怎样,回到手头的问题。在这里,我们需要选择一个循环来使用,似乎最适合这种情况的是一个简单的while
循环。只需执行以下操作:
while (condition) {
// Some code
}
do {
// Code
} while (condition);
boolean condition = true;
while (condition) {
// Your code
try {
while (true) { //Creates an infinite loop
in = input.readLine();
if (in.equalsIgnoreCase("y")) {
condition = true;
break;
} else if (in.equalsIgnoreCase("n")) {
condition = false;
break;
} else {
System.out.println("Please enter either Y or N.");
}
}
} catch (IOException e) {
System.out.println("ERROR!");
}
}
在这里,我们使用两个while
循环。第一个循环包装整个代码,检查名为condition
的布尔值。我们已将其初始化为true
,因此循环将始终至少运行一次。第二个循环,我创建了另一个while
循环。在这里,我创建了while(true)
,它将永远运行。但是,您可以通过使用break
关键字来“中断”循环。我之所以使用它,是因为用户有可能输入“y”或“n”以外的内容。在这种情况下,它应该再次问他们。如果它得到“y”,它将条件
设置为真
,并中断循环(这在技术上是不必要的,因为条件已设置为真
)它将其设置为false
并中断循环。由于它现在是false
,循环将退出,程序将结束。Atry
块不是循环。