Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Break语句给出错误:未定义标签_Java - Fatal编程技术网

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中,循环中声明的变量在循环条件中是不可见的,这一直困扰着我。