求大神指教,编程求出2~n之间的所有素数。n由键盘输入。我哪儿错了??

import java.util.Scanner;
public class Test5
{
public static void main(String[] args)
{
double x;
int k;
int i;
Scanner input=new Scanner(System.in);

System.out.println("please input n");
int n=input.nextInt();
for(x=2;x<n;x++)
{
k=Math.sqrt(x);
for(i=2;i<=k;i++)
if(x%i=0)
break;
if(i>k)
{
System.out.println(+x);
}
}
}
}

>_<!!全是编译期错误。哥,你是记事本编程序?
首先k=Math.sqrt(x); 你要强制转换一下吧?sqrt明天返回的是浮点型的,所以要改成k=(int)Math.sqrt(x); 其次是if(x%i=0) 括号里边的该是boolean的表达式,所以应该改成if(x%i==0)、
还有一个疑问,x为什么要是double类型的?输出为什么要+x?
温馨提示:答案为网友推荐,仅供参考
相似回答