分5行列出从2开始的100个素数
我的代码是这样写的:
public class Baigei
{
public static void main(String[] args)
{
int m,i=0;
do if(Count(m))
{
i++;
System.out.print(m+" ");
if(i%20==0)
System.out.println(); }while(i!=100);
}
public static boolean Count(int m)
{
int n;
for(n=2;n<m;n++)
{
if(m%n==0)
{
return false;
}
}
if(n==m)
return true;
return false;
}
}
可是编译时说我m没有初始化,这个代码应该怎么改呢?请大家帮帮忙~
我的代码是这样写的:
public class Baigei
{
public static void main(String[] args)
{
int m,i=0;
do if(Count(m))
{
i++;
System.out.print(m+" ");
if(i%20==0)
System.out.println(); }while(i!=100);
}
public static boolean Count(int m)
{
int n;
for(n=2;n<m;n++)
{
if(m%n==0)
{
return false;
}
}
if(n==m)
return true;
return false;
}
}
可是编译时说我m没有初始化,这个代码应该怎么改呢?请大家帮帮忙~
int m,i,k,h=0,leap=1;
for(m=2;h<100;m++)
{ k=(int) Math.sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap==1)
{
System.out.print(m+",");h++;
if(h%10==0){
System.out.println();
}
}
leap=1;
}
}
public static void main(String[] args) {
int m,i,k,h=0,leap=1;
for(m=2;h<100;m++)
{ k=(int) Math.sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap==1)
{
System.out.print(m+",");h++;
//分5行
if(h%20==0){
System.out.println();
}
}
leap=1;
}
}
public static void main(String[] args) {
int m = 1;
do {
if (Count(m)) {
System.out.print(m + " ");
}
if (m % 20 == 0) {
System.out.println();
}
m++;
} while (m <= 100);
} public static boolean Count(int m) {
int n;
for (n = 2; n <= m / 2; n++) {
if (m % n == 0) {
return false;
}
}
return true;
}
}
public class Baigei {
public static void main(String[] args) {
int m = 1;
int i= 1 ;
do {
if (Count(m)) {
System.out.print(m + "\t");
if (i % 20 == 0) {
System.out.println();
}
i++;
}
m++;
} while (i <= 100);
} public static boolean Count(int m) {
int n;
for (n = 2; n <= m / 2; n++) {
if (m % n == 0) {
return false;
}
}
return true;
}
}
public class Baigei
{
public static void main(String[] args) {
int m=2,i=0;
do {
if(Count(m)) {
i++;
System.out.print(m+" ");
}
if(i%20==0) System.out.println();
m++;
}while(i!=100);
}
public static boolean Count(int m)
{
int n;
for(n=2;n <m;n++) {
if(m%n==0) {
return false;
}
}
if(n==m) return true;
return false;
}
} 应该把m初始化为2,因为题目要求从2开始!把if放括号里面去,这样这就对了!