Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我的代码看不到它的主要方法?_Java_Runtime Error_Main - Fatal编程技术网

Java 为什么我的代码看不到它的主要方法?

Java 为什么我的代码看不到它的主要方法?,java,runtime-error,main,Java,Runtime Error,Main,我的程序看不到它的主要方法。我不明白为什么 我有一个main方法,但在控制台中它说:“错误:无法找到或加载主类mergesortmini.mergesortmini” 我从我的另一个项目中复制了MergeSort类(如果相关的话) public class MergeSortMini { public static void main(String[] args) { MergeSort m = new MergeSort(); m.init().sort

我的程序看不到它的主要方法。我不明白为什么

我有一个main方法,但在控制台中它说:“错误:无法找到或加载主类mergesortmini.mergesortmini”

我从我的另一个项目中复制了MergeSort类(如果相关的话)

public class MergeSortMini {
    public static void main(String[] args) {
        MergeSort m = new MergeSort();
        m.init().sort().printData();  
    }
}

class MergeSort {


   int[] data;


   public MergeSort init() {
      data = new int[10];
      data[0] = 5;
      data[1] = 67;
      data[2] = 0 - 12;
      data[3] = 7;
      data[4] = 1;
      data[5] = 2;
      data[6] = 99;
      data[7] = 3;
      data[8] = 4;
      data[9] = 67;
      return this;
   }


   public MergeSort sort() {
      data = this.mergeSort(data);
      return this;
   }

   public int printData() {
     int i = 0;  
     while(i < data.length){
         System.out.println(data[i]);
         i = i + 1;
     } 
     return data.length;
   }


   public int[] merge(int[] a1, int[] a2) {

       int lengthOfRes = a1.length + a2.length;
       int resArr[] = new int [lengthOfRes];    

       int a1Index = 0;
       int a2Index = 0;
       int resIndex = 0;

       while((a1Index < a1.length) || (a2Index < a2.length))
       {
           if((a1Index < a1.length) && (a2Index < a2.length)){

               if(a1[a1Index] < a2[a2Index]){
                   resArr[resIndex] = a1[a1Index];
                   a1Index = a1Index + 1;
                    resIndex = resIndex + 1;
               } else

               {
                   resArr[resIndex] = a2[a2Index];
                   a2Index = a2Index + 1;
                   resIndex = resIndex + 1;
               }
           }

           else if(a1Index < a1.length){
                resArr[resIndex] = a1[a1Index];
                a1Index = a1Index + 1;
                resIndex = resIndex + 1;
           }

           else
           {
               resArr[resIndex] = a2[a2Index];
                a2Index = a2Index + 1;
                resIndex = resIndex + 1;
           }
       }
       return resArr;   
   }


   public int[] mergeSort(int[] arr) {

       if (arr.length < 2){
           return arr;  
       }
       int mid = arr.length / 2;  

       int leftArr[] = new int [mid];   
       int rightArr[];                 

        int halfLength = arr.length;
        if(isEven(halfLength))
        {
           rightArr = new int [mid];
        } 
        else 
        {
           rightArr = new int[mid + 1];
        }

       int resultArr[] = new int [arr.length];

       int i = 0;

       while(i < mid){  
           leftArr[i] = arr[i];
            i = i + 1;
       }
       int j = mid;
       int indexOfRight = 0;

       while(j < arr.length){
           rightArr[indexOfRight] = arr[j];
           indexOfRight = indexOfRight + 1; 
           j = j + 1;
       }

       leftArr = mergeSort(leftArr);
       rightArr = mergeSort(rightArr);

       return resultArr = merge(leftArr, rightArr);
   }

   public boolean isEven(int number){
        return (!((number - (number * 0.5) * 2) > 0)) && (!((number - (number * 0.5) * 2) < 0));
   }
}
公共类MergeSortMini{
公共静态void main(字符串[]args){
MergeSort m=新的MergeSort();
m、 init().sort().printData();
}
}
类合并排序{
int[]数据;
公共合并排序初始化(){
数据=新整数[10];
数据[0]=5;
数据[1]=67;
数据[2]=0-12;
数据[3]=7;
数据[4]=1;
数据[5]=2;
数据[6]=99;
数据[7]=3;
数据[8]=4;
数据[9]=67;
归还这个;
}
公共合并排序(){
数据=此.mergeSort(数据);
归还这个;
}
公共int printData(){
int i=0;
而(i0)和(!((数字-(数字*0.5)*2)<0));
}
}

任何帮助都将不胜感激

确保
MergeSortMini
具有包声明

package mergesortmini;

那么你的
Main
课程在哪里?在哪个文件中,是否有指定为
Main
的类?