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)); 
} 
} 

Das Programm soll die vom Benutzer eingegebenen Werte übernehmen, sie mit der insertionSort-Methode sortieren und dann ausdrucken. Ich denke, dass die Werte sortiert werden, aber sie werden aus irgendeinem Grund nicht gedruckt.Warum gibt mein Code [D @ 3d4eac69 aus, wenn ich sage, dass er das Array zurückgibt?

+0

Wie kommt es, dass Sie es sortieren können? 'userArray' wird überhaupt nicht aktualisiert. –

+3

Ich denke, das ist ** Arrays.toString (arr); ** –

+0

ja, es hat das Array gedruckt, und es ist nichts drin @DeendayalGarg –

Antwort

0

Es scheint einen Tippfehler in sysout zu geben, wir müssen System.out.println(Arrays.toString(arr)); verwenden, um den Inhalt des Arrays zu drucken.

Verwandte Themen