2016-02-25 61 views
1

我正在做一个接受(Int,Double,String)的插入排序程序..但我不能调用一个方法,它说无效的方法声明,我找不出什么真正的问题是......插入排序 - 无效方法声明

import java.util.*; 
import java.util.Scanner; 


public class MyInsertionSort 
{ 
    public static void main(String[] args) 
    { 
    Scanner in = new Scanner(System.in); 

    System.out.print("Enter anything you want: "); 
    String insertionSort = in.nextLine(); 

    int num=Integer.parseInt(insertionSort); 
    String array[] = new String [num]; 

    for (int i = 0; i < array.length; i++) 
    { 
     System.out.print("Input the Number at array index "+i+": "); 
     array[i] = in.nextLine(); 
    } 
    } 

    insertionSort(input); 

    private static void printNumbers(int[] input) 
    { 
    for (int i = 0; i < input.length; i++) 
    { 
     System.out.print(input[i] + ", "); 
    } 
    System.out.println("\n"); 
    } 

    public static void insertionSort(int array[]) 
    { 
    int n = array.length; 
    for (int j = 1; j < n; j++) 
    { 
     int key = array[j]; 
     int i = j-1; 
     while ((i > -1) && (array [i] > key)) 
     { 
     array [i+1] = array [i]; i--; 
     } 
     array[i+1] = key; 
     printNumbers(array); 
    } 
    } 
} 
+1

在'printNumbers()'的声明之上有一个'insertionSort()'的调用。你提供的格式不是很清楚,但这个调用看起来不是任何方法。 –

回答

-3

您声明的方法

public static void insertionSort(int array[]) 

代替

public static void insertionSort(int[] array) 
+1

两者都可以在java中使用。 – Gangaraju

1

您需要在主要方法中调用insertionSort(input);。只需将您的方法调用移动到1排。