首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

各位帮个忙吧,看看这个题!该如何解决

2012-02-22 
各位帮个忙吧,看看这个题!!在main函数中调用函数fun(int[] a, int m),(其中m是在main中用键盘输入的小于10

各位帮个忙吧,看看这个题!!
在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]+",");    }} 

热点排行