2016-03-28 3 views
0
import java.util.Scanner; 
import java.util.Arrays; 

public class rr { 

public static void main(String[] args) { 
int i =1; 
Scanner input = new Scanner(System.in); 
System.out.print("Please enter the number of data points: "); 
int data = input.nextInt(); 
double [] userArray = new double[data]; 
if(data < 0){ 
    System.out.println("The number should be posotive. Exiting."); 
} 
else {System.out.println("Enter the data:"); } 
while (i <= data) { 
int userInput = input.nextInt(); 
     i ++; 

} 
insertionSort(userArray); 
} 

static void insertionSort(double[] arr) { 
    int i, j; 
    double newValue; 
    for (i = 1; i < arr.length; i++) { 
     newValue = arr[i]; 
     j = i; 
     while (j > 0 && arr[j - 1] > newValue) { 
       arr[j] = arr[j - 1]; 
       j--; 
     } 
     arr[j] = newValue; 
    } 
    System.out.println(Array.toString(arr)); 
} 
} 

プログラムは、ユーザーが入力した値を取り込み、insertionSortメソッドでソートしてから印刷することになっています。値はソートされていると思いますが、何らかの理由で印刷されていません。配列を返すように指示したとき、コード出力[D @ 3d4eac69はなぜですか?

+0

どのようにソートすることができますか? 'userArray'はまったく更新されません。 –

+3

私はそれが** Arrays.toString(arr)だと思う** –

+0

それは配列を印刷し、そこに何もありません@DeendayalGarg –

答えて

0

sysoutにタイプミスがあるようですが、System.out.println(Arrays.toString(arr));を使用して配列の内容を印刷する必要があります。

関連する問題