奇怪的语法错误,插入}到完成块

时间:2013-08-17 02:41:28

标签: java insert complete

我正在编写一个关于查找素数的程序,当我在'else if'中添加时,我遇到了语法错误'语法错误,插入}到完成阻止'。

我在星号中标记了我收到错误的地方。

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{

        }
    }

}

我读了同样问题的其他报告,没有任何帮助。我算了{&amp;他们达到了偶数。

有什么建议吗?

p.s。:这个项目远未完成,所以原谅它的粗糙。另外,不要告诉我如何得到我想要的结果,我不想破坏挑战!

2 个答案:

答案 0 :(得分:0)

你的其他如果需要直接在if之后。现在你正在说{do stuff} elseif {做其他东西}

所以试试

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

        }

如果您使用eclipse,也可以使用CTRL-SHIFT-F格式化代码(如果没有错误)。这可以真正帮助理清嵌套问题。

最重要的是你有一个;过了一会儿和if。一个 ;表示该命令不包含{} s,因此您要删除;

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

答案 1 :(得分:0)

import 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

}