各位帮个忙吧,看看这个题!该如何解决
各位帮个忙吧,看看这个题!!
在main函数中调用函数fun(int[] a, int m),(其中m是在main中用键盘输入的小于100的整数),用fun函数找出大于整数m,并且邻接m的5个素数,将这5个素数,用a数组接收,并在main中输出;(请根据题目完成main和fun函数的编写)
这是我写的,可是得不到所要的结果
public static void fun(int[]a,int m)
{
int i;
int max=5;
for(i=2;i<=m;i++)
{
for(int j=0;j<a.length;j++)
{
if(i<Math.sqrt(m)&&(m%i!=0)) break;
if(i>Math.sqrt(m)) a[j]=m;
}
}
int b=a.length;
while(a.length-b<max){
for(int j=0;j<a.length;j++){
if(i%j==0){
break;
}
}i++;
}
}
public static void main (String[] args) {
System.out.println("please enter <100 numbers:");
Scanner bh=new Scanner(System.in);
int m=bh.nextInt();
int []a=new int[5];
fun(a,m);
for(int i=0;i<a.length;i++)
System.out.print(a[i]+",");
}
------解决方案--------------------
你看这是不是你想要的效果?
在main函数中调用函数fun(int[] a, int m),(其中m是在main中用键盘输入的小于100的整数),用fun函数找出大于整数m,并且邻接m的5个素数,将这5个素数,用a数组接收,并在main中输出;(请根据题目完成main和fun函数的编写)
这是我写的,可是得不到所要的结果
public static void fun(int[]a,int m)
{
int i;
int max=5;
for(i=2;i<=m;i++)
{
for(int j=0;j<a.length;j++)
{
if(i<Math.sqrt(m)&&(m%i!=0)) break;
if(i>Math.sqrt(m)) a[j]=m;
}
}
int b=a.length;
while(a.length-b<max){
for(int j=0;j<a.length;j++){
if(i%j==0){
break;
}
}i++;
}
}
public static void main (String[] args) {
System.out.println("please enter <100 numbers:");
Scanner bh=new Scanner(System.in);
int m=bh.nextInt();
int []a=new int[5];
fun(a,m);
for(int i=0;i<a.length;i++)
System.out.print(a[i]+",");
}
------解决方案--------------------
你看这是不是你想要的效果?
- Java code
import java.util.Scanner; /** * Created by IntelliJ IDEA. * User: Administrator * Date: 2011-9-29 * Time: 21:45:16 * To change this template use File | Settings | File Templates. */ public class ShowNumber { public static boolean isPrimeNumber(int num){ boolean result=true; if(num==2) return true; for(int i=2;i<=num/2;i++){ if(num%i==0){ // result=false; return false; } } return result; } public static void fun(int[]a,int m) { // int i; int max=5; if(a==null){ a=new int[5]; } int primeNum=0; for(int i=m+1;primeNum<5;i++){ if(isPrimeNumber(i)){ a[primeNum]=i; primeNum++; } } } public static void main (String[] args) { System.out.println("please enter <100 numbers:"); Scanner bh=new Scanner(System.in); int m=bh.nextInt(); int []a=new int[5]; fun(a,m); for(int i=0;i<a.length;i++) System.out.print(a[i]+","); } }