2016-03-28 15 views
-5

Schreiben Sie ein Computerprogramm, das den Benutzer für eine Nummer auffordert, ein Array für die Anzahl zufälliger Ganzzahlen erstellt und anschließend die Bubble-Sortierung verwendet, um das Array zu sortieren. Das Programm sollte das Array vor dem Aufruf des Sortieralgorithmus und danach ausdrucken.Java bubble sort code Probleme

Ich habe die meisten der Bubble-Sortierung funktioniert, es ist nur die Implementierung der zufälligen Ganzzahlen und Benutzereingaben für die Größe des Arrays, die ich nicht scheinen kann, herauszufinden.

import java.util.*; 
    import java.lang.*; 
    import java.io.*; 
    import java.util.Random; 

    class Test 
    { 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     int n, c, d, swap; 
     Scanner in = new Scanner(System.in); 
     Random r = new Random(); 

     System.out.println("enter number of elements to sort"); 
     n = r.nextInt(); 

     int array[] = new int[n]; 

     for (c = 0; c < n; c++) 
     array[c] = r.nextInt(); 

     for (c = 0; c < (n - 1); c++) { 
      for (d = 0; d < n - c - 1; d++) { 
      if (array[d] > array[d+1])  { 
      swap  = array[d]; 
      array[d] = array[d+1]; 
      array[d+1] = swap; 
      } 
      } 
      } 

     System.out.println("Sorted array :"); 

     for (c = 0; c < n; c++) 
     System.out.println(array[c]); 
    } 
    } 
+3

Offensichtliche Hausaufgaben ist offensichtlich. – Krythic

+1

Es ist nur ein Tippfehler. Ändern Sie es in 'n = in.nextInt();'. –

Antwort

0

Sie verwenden den Scanner nicht richtig. Sie sollten haben n = in.nextInt();

+0

Der Zufall ist in Ordnung, muss nicht erneut instanziiert werden, um neue zufällige Ints –

+0

zu erzeugen Antwort bearbeitet. Tut mir leid, ich weiß nicht viel über das 'Random' Objekt –