需要class interface or enum错误

解决方案 »

  1.   

    我编写一个主方法public static void main    方法体用了后面自定义的一个求小于n的质数的方法,该方法名为,public static int[] get(int n)
      

  2.   

    但idea显示get方法是有问题的,问题如题
      

  3.   

    贴代码,估计是你的代码不符合java规范
      

  4.   

    import java.util.*;
    public class Main{
        public static void main(String[] args){
            int n;
            Scanner in=new Scanner(System.in);
            n=in.nextInt();
            int [] array=new int[n];
            array=getPrimeNumber(n);  //把n以内的质数通过定义的方法赋值给数组array
            int [] a=new int[n];    //用来存放n质因数
            int i=2;             //作为array的下标,从2开始是为了匹配自定义的getPrimeNumber方法
            int q=0;           //作为数组a的下标,没有其他含义
            while (i<n)  //求出n的质因数并存放在数组a中
            {
                if(n%array[i]==0)
                {
                    n=n%array[i];
                    a[q]=array[i];
                    q++;
                }
                else
                    i++;
            }
            System.out.printf("%d= ",n);  //输出结果
            for(q=0;q<n;q++)
            {
                if(a[q]!=0)  //输出第一个数据,这是为了让后续数据统一成“星号+数据”的格式便于输出
                {
                    System.out.printf("%d*",a[q]);
                    break;
                }
            }
            for(int d=q+1;d<n;d++)  //d同q,仅作为一个数组下标,无其他含义
            {
                if(a[d]!=0)
                {
                    System.out.printf("*%d",a[d]);
                }
                else
                    continue;
            }
            System.out.printf("\n");
        }
    }
    //定义一个方法,找出n之内的所有质数存放在数组中,并将该数组返回
    public static int [] getPrimeNumber(int n) {
        int[] array = new int[n];
        int q = 0;
        for (int i = 2; i < n; n++) {
            if (n % i == 0) {
                array[q] = i;
                q++;
            }
            else
                continue;
        }
        return array;
    }
      

  5.   


    getPrimeNumber移动到和main方法同级,不能再class外面
      

  6.   

    1. 类名不能为关键字“Main”
    2. Scanner对象名不能为关键字“in”
    3. 定义数组时,int和[]中间不能有空格
    4. getPrimeNumber方法应当放在类里面,与main方法同级
      

  7.   

    package com.demo;import java.util.*;
    public class Main{
        public static void main(String[] args){
            int n;
            Scanner in=new Scanner(System.in);
            n=in.nextInt();
            int [] array=new int[n];
            array=getPrimeNumber(n);  //把n以内的质数通过定义的方法赋值给数组array
            int [] a=new int[n];    //用来存放n质因数
            int i=2;             //作为array的下标,从2开始是为了匹配自定义的getPrimeNumber方法
            int q=0;           //作为数组a的下标,没有其他含义
            while (i<n)  //求出n的质因数并存放在数组a中
            {
                if(array[i]!=0 && n%array[i]==0)
                {
                    n=n%array[i];
                    a[q]=array[i];
                    q++;
                }
                else
                    i++;
            }
            System.out.printf("%d= ",n);  //输出结果
            for(q=0;q<n;q++)
            {
                if(a[q]!=0)  //输出第一个数据,这是为了让后续数据统一成“星号+数据”的格式便于输出
                {
                    System.out.printf("%d*",a[q]);
                    break;
                }
            }
            for(int d=q+1;d<n;d++)  //d同q,仅作为一个数组下标,无其他含义
            {
                if(a[d]!=0)
                {
                    System.out.printf("*%d",a[d]);
                }
                else
                    continue;
            }
            System.out.printf("\n");
        }
        //定义一个方法,找出n之内的所有质数存放在数组中,并将该数组返回
        //这个函数是错的,无法找出质数
        public static int [] getPrimeNumber(int n) {
            int[] array = new int[n];
            int q = 0;
            for (int i = 2; i < n; i++) {//这里是i++
                if (n % i == 0) {
                    array[q] = i;
                    q++;
                }
                else
                    continue;
            }
            return array;
        }
    }
    错误还没处理完。。
      

  8.   

    这个程序问题多多,首先求质数的类无法求质数,然后就算求出质数数组和下标有什么关系?
    还有就是下面程序中 if(array[i]!=0 && n%array[i]==0)
                {
                    n=n%array[i];
                    a[q]=array[i];
                    q++;
                }n=n%array[i]; 直接把n值都换了。