JAVA求两者之间的素数~帮我看看哪里不对了QAQ
我要求大于某个数的最小素数和小于某个数的最大素数。还有任意两个整数之间的素数。前两个都能求出来。就是两者之间的素数显示不出来?我朋友程序也是这个但是可以显示。为什么??i...
我要求大于某个数的最小素数和小于某个数的最大素数。还有任意两个整数之间的素数。前两个都能求出来。就是两者之间的素数显示不出来?我朋友程序也是这个但是可以显示。为什么??
import javax.swing.JOptionPane;
public class Ssjudge {
public static void main(String[] args) {
int i,x,y,z;
String str=JOptionPane.showInputDialog("x=");
x=Integer.parseInt(str);
for(i=x+1;i<2*i;i++){
if(mySS(i))
{System.out.println("大于"+x+"的最小素数:"+i);break;}
}
for(i=x-1;i>=0;i--){
if(mySS(i))
{System.out.println("小于"+x+"的最大素数:"+i);break;}
}
String str1=JOptionPane.showInputDialog("第一个整数为");
y=Integer.parseInt(str1);
String str2=JOptionPane.showInputDialog("第二个整数为");
z=Integer.parseInt(str2);
if(y>z)
{i=y;y=z;z=i;}
System.out.print(y+"与"+z+"之间的素数:");
for(i=y;i<z;i++);{
if(mySS(i)){
System.out.print(i+" ");
}
}
}
static boolean mySS(int n){
int i;
for(i=2;i<n;i++)
if(n%i==0) break;
if(n==i) return true;
else return false;
}
}
显示结果这样:(100与200间素数求不出来QAQ)
大于10的最小素数:11
小于10的最大素数:7
100与200之间的素数: 展开
import javax.swing.JOptionPane;
public class Ssjudge {
public static void main(String[] args) {
int i,x,y,z;
String str=JOptionPane.showInputDialog("x=");
x=Integer.parseInt(str);
for(i=x+1;i<2*i;i++){
if(mySS(i))
{System.out.println("大于"+x+"的最小素数:"+i);break;}
}
for(i=x-1;i>=0;i--){
if(mySS(i))
{System.out.println("小于"+x+"的最大素数:"+i);break;}
}
String str1=JOptionPane.showInputDialog("第一个整数为");
y=Integer.parseInt(str1);
String str2=JOptionPane.showInputDialog("第二个整数为");
z=Integer.parseInt(str2);
if(y>z)
{i=y;y=z;z=i;}
System.out.print(y+"与"+z+"之间的素数:");
for(i=y;i<z;i++);{
if(mySS(i)){
System.out.print(i+" ");
}
}
}
static boolean mySS(int n){
int i;
for(i=2;i<n;i++)
if(n%i==0) break;
if(n==i) return true;
else return false;
}
}
显示结果这样:(100与200间素数求不出来QAQ)
大于10的最小素数:11
小于10的最大素数:7
100与200之间的素数: 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询