Java 我如何打破我程序中的循环? publicstaticvoiddate1(){ int x=0;//用于循环的整数 如果长度=5,则执行//要遵循的过程 { 扫描仪=新的扫描仪(System.in); 试一试{ System.out.println(“请输入第一个日期”); System.out.println(“请输入年份:”); y1=scanner.nextInt(); System.out.println(“请输入月份:”); m1=scanner.nextInt(); System.out.println(“请输入日期:”); d1=scanner.nextInt(); }捕获(输入不匹配异常输入不匹配异常){ scanner.nextLine(); System.err.println(“您必须输入整数,请重试”); } x=x+1;//将循环设置为三次尝试 }while(x
如果所有输入都正确(输入整数),我想中断循环。我不太确定使用什么命令来打破我创建的循环。Java 我如何打破我程序中的循环? publicstaticvoiddate1(){ int x=0;//用于循环的整数 如果长度=5,则执行//要遵循的过程 { 扫描仪=新的扫描仪(System.in); 试一试{ System.out.println(“请输入第一个日期”); System.out.println(“请输入年份:”); y1=scanner.nextInt(); System.out.println(“请输入月份:”); m1=scanner.nextInt(); System.out.println(“请输入日期:”); d1=scanner.nextInt(); }捕获(输入不匹配异常输入不匹配异常){ scanner.nextLine(); System.err.println(“您必须输入整数,请重试”); } x=x+1;//将循环设置为三次尝试 }while(x,java,Java,如果所有输入都正确(输入整数),我想中断循环。我不太确定使用什么命令来打破我创建的循环。 提前谢谢大家 您可以添加一个变量boolean stop=false,然后将while修改为while(x
提前谢谢大家 您可以添加一个变量
boolean stop=false
,然后将while修改为while(x<3 | stop==true)
。一旦您对输入感到满意,然后添加一些代码来设置stop=true
。您可以添加一个变量boolean stop=false
,然后将while修改为while(x<3 | | stop==true)
。一旦您对输入感到满意,就添加一些代码来设置stop=true
。在关闭try{}
块之前,先输入break
命令。如果没有抛出异常,将执行break命令并退出循环
不过,更好的方法是创建一个单独的方法,接受用户的单个输入,然后调用它三次。这样,如果只有第三个数字无效,则不必让用户再次输入前两个数字:
public static void date1() {
int x = 0 ; //integer for looping
do // process to follow if length == 5
{
Scanner scanner = new Scanner(System.in);
try {
System.out.println("Please enter the first date ");
System.out.println("Please enter the year: ");
y1 = scanner.nextInt();
System.out.println("Please enter the month: ");
m1 = scanner.nextInt();
System.out.println("Please enter the day: ");
d1 = scanner.nextInt();
} catch (InputMismatchException inputMismatchException) {
scanner.nextLine();
System.err.println("You must enter intergers. Please try again. ");
}
x = x + 1 ; // set loop to three attempts
} while (x < 3) ; //do process occurs while attempts are under < 4
}
当然,你可以让事情变得更新奇。。。我们可以在getIntInput()方法中添加字符串输入,然后每次接受输入时都打印该字符串,这样用户就不会忘记要输入的内容。或者您可以清理语法,使其正常工作(我想编译器会抱怨getIntInput需要返回一个int,就像我现在键入的那样…在关闭
try{}
块之前,先放一个break
命令。如果没有抛出异常,将执行break命令并退出循环
不过,更好的方法是创建一个单独的方法,接受用户的单个输入,然后调用它三次。这样,如果只有第三个数字无效,则不必让用户再次输入前两个数字:
public static void date1() {
int x = 0 ; //integer for looping
do // process to follow if length == 5
{
Scanner scanner = new Scanner(System.in);
try {
System.out.println("Please enter the first date ");
System.out.println("Please enter the year: ");
y1 = scanner.nextInt();
System.out.println("Please enter the month: ");
m1 = scanner.nextInt();
System.out.println("Please enter the day: ");
d1 = scanner.nextInt();
} catch (InputMismatchException inputMismatchException) {
scanner.nextLine();
System.err.println("You must enter intergers. Please try again. ");
}
x = x + 1 ; // set loop to three attempts
} while (x < 3) ; //do process occurs while attempts are under < 4
}
当然,你可以让事情变得更新奇。。。我们可以在getIntInput()方法中添加字符串输入,然后每次接受输入时都打印该字符串,这样用户就不会忘记要输入的内容。或者您可以清理语法,使其正常工作(我想编译器会抱怨getIntInput需要返回一个int,就像我现在键入的那样…这里有一个提示:当所有输入都正确时,“中断”退出循环。这里有一个提示:“中断”当所有输入都正确时退出循环。有很多方法可以做到这一点。您可以使用
中断
,使用布尔值。。为什么这个方法是静态的?????有很多方法可以做到这一点。您可以使用中断
,使用布尔值。。为什么这个方法是静态的?????你根本不需要任何循环。您可以在catch中进行递归调用,根本不需要任何循环。您可以在catch中进行递归调用。