Java Break语句给出错误:未定义标签
我正在构建一个程序,下面是一些代码:Java Break语句给出错误:未定义标签,java,Java,我正在构建一个程序,下面是一些代码: Scanner input = new Scanner(System.in); begin: System.out.println("Enter first fraction: "); String fraction_1 = input.nextLine(); System.out.println("Enter second fraction: "); String fract
Scanner input = new Scanner(System.in);
begin:
System.out.println("Enter first fraction: ");
String fraction_1 = input.nextLine();
System.out.println("Enter second fraction: ");
String fraction_2 = input.nextLine();
if(...){
...
} else {
...
break begin;
但是,在最后一行中,“begin”是红色的,出现了一个错误:
未定义标签:开始
当else语句为真时,我希望程序跳转到begin标记的行。我希望这是正确的方法。如果没有,我该怎么办?
break
用于终止循环,而不是跳转到代码的任意部分。您可以使用do-while循环来获得所需的行为。例如:
do {
System.out.println("Enter first fraction: ");
String fraction_1 = input.nextLine();
System.out.println("Enter second fraction: ");
String fraction_2 = input.nextLine();
} while (/* some condition isn't met */);
break代码>不是goto代码>-Java没有goto
-您需要的是一个循环。和break代码>用于结束循环。不迭代它们。如果在循环期间中断,可以使用带有名称的break语句转到命名标签以中断多个循环。可以使用break begin代码>如果您在begin
可见的范围内定义它:begin
当前仅标记紧跟其后的System.out.println
。将{
放在开始之后:
,将}
放在中断开始之后代码>。(不过,它可能不符合您的意思)。@DeathVenom@Mureinik注意到,您必须在循环之外声明fraction_1
和fraction_2
,以便以后可以看到它们。实际上,为了使值在while条件下可用,您必须这样做。在Java中,循环中声明的变量在循环条件中是不可见的,这一直困扰着我。