2016-07-22 13 views
-5

Ich mache diese Aufgabe, wo mit dem Bubble Sort Algorithm ein Programm erstellt wird, das einen Benutzer nach einer Anzahl von ganzen Zahlen fragt.
Das Programm wird dann den Benutzer bitten, so viele Ganzzahlen einzugeben, wie der Benutzer angefordert hat, und die Werte der Arrays in ihn einzufügen.
Danach gibt der Programmbenutzer folgendes aus:Wie arbeiten Sie mit Arrays in Java?

a. Nummernliste aus Datei anzeigen (nicht sortiert) b. Sortierte Liste anzeigen c. Zeigen Größte Nummer d. Zeige kleinste Nummer e. Zeige den Medianwert f. Zeigen den Mittelwert

Bisher habe ich dieses:

import java.util.Scanner; 

public class Bubbles { 

    public static void main(String[] args) 
    { 
     //Declare Variables 
     String strUser; 
     int intSize; 
     int[] intNum; 

     //Input 
     Scanner scn=new Scanner(System.in); 

     //Process/Output 
     System.out.println("Please enter the number of values you would like to enter:"); 
     strUser=scn.nextLine(); 

     intSize=Integer.parseInt(strUser); 

     intNum=new int [intSize]; 

     for(int i=0; i < intNum.length; i++) 
     { 
      System.out.println("Please enter for index value of "+i+":"); 
      intNum[i]=scn.nextInt(); 

     } 

    } 

} 

, die gibt diese (zum Beispiel):

Please enter the number of values you would like to enter: 3 
Please enter for index value of 0: 
47 
Please enter for index value of 1: 
89 
Please enter for index value of 2: 
42 
BUILD SUCCESSFUL (total time: 13 seconds) 

Nun, wie bekomme ich alle diese inputed Zahlen in ein Array so I können sie in einer Liste, und dann die Blase, benutzen Sortier sie zu bestellen, und so weiter ..

so:

Unsorted order: 
47,89,42 
Sorted order: 
42, 47, 89 

Ich bin so verloren, ich weiß.

+1

Wenn Sie Fragen zu Ihrer Aufgabe haben, sollten Sie zu Ihrem TA oder Professor gehen. – Elias

+0

Willkommen bei SO!Da Sie vielleicht ein neuer Benutzer sind, möchte ich Ihnen in der Tat sagen, dass Sie eine gültige Frage stellen (zumindest für mich), die Sie beschreiben, erwartetes Verhalten und Ihre Arbeit (Code) bis jetzt. Ärgere dich nicht über die Anzahl der Downstimmen, die Leute stimmen manchmal einfach auf eine Aufgabenfrage ab, ohne zu viel nachzudenken. Ein kleiner Vorschlag für Sie: Überprüfen Sie Ihre eigene Frage, versuchen Sie, Ihr Code-Format zu bereinigen, das schlechte Code-Format führt Sie wahrscheinlich zu vielen Down-Stimmen :) – shole

+1

Ich stimme diese Frage als off-topic zu schließen, weil [Fragen um Hausaufgaben zu bitten, muss eine Zusammenfassung der bisher geleisteten Arbeit zur Lösung des Problems und eine Beschreibung der Schwierigkeit bei der Lösung des Problems enthalten sein (http://stackoverflow.com/help/on-topic). Unter "Bisherige Arbeit" versteht man den Versuch, den Bobblesort-Code zu schreiben. – Andreas

Antwort

0

Erstens, als Antwort auf how do I get all these inputed numbers into an array so I can be them in a list: Sie haben tatsächlich bereits die inputed Zahlen in einem Array mit dem Namen intNum. Die for-Schleife fügt die eingegebenen Ganzzahlen in dieses Array ein.

Zweitens ist dieser Code einige Vorlage für, wie Sie über das Hinzufügen einer Blase Sortierfunktion, um Ihren Code gehen könnte (aber nicht, wie die Blase Art zu tun)

public static void main(String[] args) 
{ 
    //Declare Variables 
    String strUser; 
    int intSize; 
    int[] intNum; 

    //Input 
    Scanner scn=new Scanner(System.in); 

    //Process/Output 
    System.out.println("Please enter the number of values you would like to enter:"); 
    strUser=scn.nextLine(); 

    intSize=Integer.parseInt(strUser); 

    intNum=new int [intSize]; 

    for(int i=0; i < intNum.length; i++) 
    { 
     System.out.println("Please enter for index value of "+i+":"); 
     intNum[i]=scn.nextInt(); 

    } 

    System.out.println("Unsorted order:"); 
    System.out.println(Arrays.toString(intNum)); 


    int[] sortedArray = new int [intSize]; 
    sortedArray = bubbleSort(intNum); 
    System.out.println("Sorted order:"); 
    System.out.println(Arrays.toString(sortedArray)); 

} 

Dies setzt voraus, dass Sie ein BubbleSort Verfahren haben dass sortiert ein integer-Array:

public static int[] bubbleSort(int[] intArray) { 
    // Implement bubble sort 

    // Return the sorted array 
} 

Wenn Sie etwas Material auf Blase Art benötigen, ist hier ein Stapelüberlauf Frage Sorting an Array of int using BubbleSort und eine Wiki-Seite https://en.wikipedia.org/wiki/Bubble_sort

+0

Vielen Dank! – Mell

+0

Gern geschehen. Ich bin froh zu helfen. Ich habe Ihren Kommentar oben gesehen und ich möchte Ihnen gratulieren, die Initiative zu ergreifen, um Programmierung zu lernen. Ich kann verstehen, wie online Klasse kann schwierig sein – Davis

+0

Es ist schwierig Ich finde, ich bin nur ein High School Student, aber ich nehme meine Ausbildung ernst - vielleicht ein bisschen zu viel. Also anstatt zu entspannen, wie ich wahrscheinlich hätte tun sollen, ich Ich habe zwei Online-Kurse besucht (ich nehme Philosophie im August), die beide ein ganzes Semester in der Tagesschule hätten belegen sollen, aber zu 3 Wochen Sommer-Online-Kursen zusammengefasst sind. Aber ich glaube, dass es sich am Ende lohnt, also bin ich nur positiv geblieben, auch wenn die Umstände stressig sind. " – Mell

0

Sie wirklich sollten fragen Sie Ihren Professor oder Lehrer um Hilfe mit Ihrem Code. Aber ich werde Ihnen ein paar Hinweise in die richtige Richtung geben.

Zuerst sollten Sie keinen String-Parser verwenden, um die Länge zu erhalten, verwenden Sie einfach die. NextInt() - Funktion in der Scanner-Klasse.

Zweitens, lesen Sie auf Blase sortieren, wenn Sie nicht sicher sind, was es ist: https://en.wikipedia.org/wiki/Bubble_sort. Im Grunde "bläst" der größte Wert an den Anfang der Liste. Hier ist ein sehr einfacher Pseudocode für eine Blasensortierung:

for i = 0 to i < n 
    for j = 1 to j <n - i 
    if array[j] < array[j-1], swap 

Dies wird die Werte tauschen, bis sie in aufsteigender Reihenfolge sind. Von hier aus, Drucken von ihnen, die Suche nach dem Minimum, Maximum, Durchschnitt und Median sollte ein Stück Kuchen sein. Wenn Sie immer noch Probleme haben, drucken Sie einfach das Array und schauen Sie es sich an. Sie sollten in der Lage sein, herauszufinden, wie Sie alles bekommen.

+0

Danke f oder sich Zeit nehmen zu helfen. Ja, ich habe meinen Lehrer gefragt, aber der Lehrer sagt mir, dass ich wieder auf die Kursinhalte schauen soll, die auf der Kurswebseite gepostet wurden (mein Kurs ist online), als ob ich das nicht schon dreimal gemacht hätte! Es ist das erste Mal, dass ich mich diesem Thema (Computerprogrammierung) annähere und wenn du nur ein Anfänger bist und dein Lehrer kryptisch antwortet. Wie auch immer, Entschuldigung für mein Gejammer - es war ein langer Tag. – Mell

+0

Es ist alles gut. Ich kann mich mit der Hilfslosigkeit von Lehrern identifizieren. – ccopland