繁体   English   中英

奇怪的语法错误,插入}以完成阻止

[英]strange Syntax Error, Insert } to Complete Block

我正在写一个查找素数的程序,当我在“ else if”中添加时遇到了语法错误“ Syntax Error,Insert} to Complete Block”。

我在出现错误的地方标了星号。

import java.math.*;

public class FindThePrime {

    public static void main(String[] args) {

        int x = 2; 
        int nextPrime =  1;
        for (int i = 1; i <= 10; ++i){



        int count = 0;

        while (nextPrime > x);{

            if (nextPrime % x == 0);{


                ++nextPrime; 
                x = 2;
                ++count;

            }
            if (nextPrime < x); {
                ++x;
            }
        ***}***



    }
        else if{

        }
    }

}

我阅读了有关同一问题的其他报告,但没有任何帮助。 我计算了{&}的数量,得出了偶数。

有什么建议么?

ps:这个项目远未完成,因此请原谅它的粗糙性。 另外,不要告诉我如何获得想要的结果,我不想破坏挑战!

您的else if必须直接在if之后。 现在,您在说{做其他事情} elseif {做其他事情}

所以尝试

        if (nextPrime < x) {
            ++x;
        }
        else if {

        }

如果使用的是eclipse,也可以使用CTRL-SHIFT-F格式化代码(如果没有错误)。 这确实可以帮助解决嵌套问题。

最重要的是你有一个; 一会儿之后,如果。 一种 ; 表示该命令将不包含{},因此您要删除;;

例如while(1 == 1); 将永远循环。

导入java.math。*;

公共类FindThePrime {

public static void main(String[] args) {

    int x = 2; 
    int nextPrime =  1;
    for (int i = 1; i <= 10; ++i)
    {
       int count = 0;
       while (nextPrime > x)
       {
         if (nextPrime % x == 0)
         {
            ++nextPrime; 
            x = 2;
            ++count;
          }
          if (nextPrime < x) {
            ++x;
          }   
          else {
              System.out.println("foo");
          }

     } //while loop

    }//for loop
}//main

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM