/*100~200间输出质数*/ //定义一个类PrimeNumber类 class PrimeNumber{ int i,j; //成员变量 int k=1; public void Prime()//方法 { for(i=101;i<=200;i++) { for(j=2;j<i/2;j++) { if(i%j==0){ break; }else{ System .out.print(" "+i); break; } } } } } public class PrimeTestDrive{ public static void main(String[] args) { PrimeNumber p=new PrimeNumber(); p.Prime(); } }
如何实现每行限定10个数的要求
增加一个变量来计数,每次输出前判断该变量值,如果等于10,则输出换行,然后置0
class PrimeNumber{
int i,j; //成员变量
int k=1;
//计数
int count = 0;
public void Prime()//方法
{
for(i=101;i<=200;i++)
{
for(j=2;j<i/2;j++)
{
if(i%j==0){
break;
}else{
System.out.print(" "+i);
//*******更改代码部分**************
count++;
//进行判断
if(count == 10){
System.out.println("\n");
count = 0;
}
//*********************
break;
}
}
}
}
}
public class PrimeTestDrive{
public static void main(String[] args)
{
PrimeNumber p=new PrimeNumber();
p.Prime();
}
}
不要这里问作业题吧。。
在最外层for循环外添加以变量.初值为0,在for循环中每发现一个素数变量加1,判断当变量为10时输出换行,并置为0;
代码如下
class PrimeNumber{
public static void main(String[] args){
int count = 0;
for(int i=101;i<=200;i++){
for(int j=2;j<=Math.sqrt(i);j++){
if(i%2==0){
System.out.print(i+"\t");
count++;
}
if(count%10==0){
System.out.println();
}
}
}
}
}
有个地方手误了if(i%2==0)改成 if(i%j==0)