当前位置: 代码迷 >> Java相关 >> [求助]判断输入的数是否为素数
  详细解决方案

[求助]判断输入的数是否为素数

热度:312   发布时间:2007-05-22 23:55:24.0
[求助]判断输入的数是否为素数
从键盘输入一个整数,判定它是否为素数
怎么写程序啊,请高手指点。。喝喝,谢谢了。。写下注释啊,我是初学者。。。
搜索更多相关的解决方案: 素数  判断  输入  键盘  

----------------解决方案--------------------------------------------------------

class sushu
{
public static void main(String[] args)
{

for(int i=2;i<=100;i++)

for(int m=2;m<i;m++)
{
if(i%m==0)

break;



if(m==i-1)

System.out.print(i+" ");
}
}
}




class sushu
{
public static void main(String[] args)
{
for(int i=2;i<=100;i++){
int k=1;
for(int m=2;m<i;m++)

if(i%m==0)
k=0;



if(k!=0)
System.out.print(i+ " ");

}
}
}
这里两种方法都是可以的


----------------解决方案--------------------------------------------------------
我不是要求一到100的素数啊,我是要从键盘上输入一个整数,判断它是否为素数,哎,你理解错了。。
----------------解决方案--------------------------------------------------------
import java.util.Scanner;
public class SuShu{
public static void main(String []args){
Scanner sc=new Scanner(System.in);//定义Scanner对象
int i=sc.nextInt();//从键盘读入一个整数
if(i==1)System.out.println(i+"不是素数");//规定1不是素数
if(i==2)System.out.println(i+"是素数");//规定2是素数
for(int j=2;j<i;j++){//判断输入这个数是否是素数,一个数除了能被1和本身整除外不能被其他数整除的这个数就是素数
if(i%j==0){
System.out.println(i+"不是素数");
break;
}
System.out.println(i+"是素数");

}
}
}
----------------解决方案--------------------------------------------------------
if(m==i-1)

k=0;
if(k!=0)
是怎样控制输出的啊?
我怎么也弄不懂啊?哪位大哥麻烦详细解答下啊?

----------------解决方案--------------------------------------------------------
以下是引用zgd1986516在2007-6-26 14:23:05的发言:
if(m==i-1)

k=0;
if(k!=0)
是怎样控制输出的啊?
我怎么也弄不懂啊?哪位大哥麻烦详细解答下啊?

m有没有初始化值啊?如果初始化了值,就看m和i-1是否相等,相等为true则执行,反之则不执行啊!.
k=0;
if(k!=0) 这个不是为false吗.不执行后面语句啊!!!!


----------------解决方案--------------------------------------------------------

import java.io.*;

public class isPrime{
public isPrime(int num){
int mid=(int)(Math.sqrt(num));
int count=0;
if(num<=1) System.out.println(num+" is not prime");
else{
for(int i=2;i<mid;i++){
if(num%i==0)
count++;
}
if(count>=mid)
System.out.println(num+" is a prime");
else System.out.println(num+" is not prime");
}
}
public static void main(String[] args){
int num=0;
System.out.println("请输入要判断的数:");
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String inputLine=in.readLine();
num=Integer.parseInt(inputLine);
}catch(Exception exc){}
isPrime isprime=new isPrime(num);

}
}


----------------解决方案--------------------------------------------------------

7楼的有问题....
import java.io.*;

public class isPrime{
public isPrime(int num){
int mid=num/2;
int count=0;
int i;
if(num<=1)
System.out.println(num+" 不是素数");
else{
for(i=2;i<mid;i++){
if(num%i==0){
System.out.println(num+" 不是素数");
break;
}

if(i>=mid)
System.out.println(num+" 是素数");
}
}
}
public static void main(String[] args){
int num=0;
System.out.println("请输入要判断的数:");
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String inputLine=in.readLine();
num=Integer.parseInt(inputLine);
}catch(Exception exc){}
isPrime isprime=new isPrime(num);

}
}


----------------解决方案--------------------------------------------------------
int mid=num/2
是什么意思啊
----------------解决方案--------------------------------------------------------
  相关解决方案