Drei zahlen sortieren und in richtiger Reihenfolde ausgeben.

Status
Nicht offen für weitere Antworten.
E

enriko

Gast
Hallo, ich bin schon fast 2 Tage am grübeln, komme einfach nicht darauf! Wie kann man drei Zahlen sortieren und in richtiger Reihenfolge in der Konsole ausgeben? Bitte schreibt mir nicht gleich die Lösung sonst hab ich nichts gelernt,aber ihr könnt mir Tipps geben, danke an euch, ihr seid das beste Forum, weil einem hier am schnellsten geholfen wird!
Gruss
Enriko
 
G

Gast

Gast
Du legst dir ein neues Array an mit der Länge 3. dann durchläufst du das array mit einer doppelten for schleife und stellst mit if abfragen die reihenfolge so wie du sie haben möchtest.
 

L-ectron-X

Gesperrter Benutzer
Sollst/Willst du den Sortieralgorithmus selbst schreiben?
Wenn nicht gibts zum Sortieren in Java bereits vorgefertigte Klassen und Methoden.
Zahlen kannst du entweder in ein Array oder eine Collection (Vector, ArrayList etc.) stecken.
Arrays werden dann mit der Anweisung
Code:
Arrays.sort(meinArray);

und Collections mit
Code:
Collections.sort(meineListe);
sortiert.
 
E

enriko

Gast
Was hab ich hier falsch gemacht, irgendwie wird kein Fehler angezeigt ?

Code:
public class Sort {

   public static void main(String[] args) {
      int z1 = 4,z2 = 6,z3= 10;
      int [] sortiern  ;
	
      sortiern = new int[2];
		
      sortiern [0] = sortiern[z1];
      sortiern [1] = sortiern[z2];
      sortiern [2] = sortiern[z3];
		
      for (int i = 0;  i > sortiern.length; i++) {
         if(i == sortiern[i]) {				
            System.out.println(i);
         }
      }	
   }
}
 

L-ectron-X

Gesperrter Benutzer
Erst mal eine grobe Berichtigung:
Code:
public class Sort {

   public static void main(String[] args) {
      int x = 4, y = 6, z = 10;
      int[] arr = new int[3];

      arr[0] = x;
      arr[1] = y;
      arr[2] = z;

      for(int i = 0;  i < arr.length; i++) {
//         if(i == arr[i]) {
//            System.out.println(i);
//         }
      }
   }
}

Was passiert hier?
Code:
        if(i == arr[i]) {
            System.out.println(i);
         }
Bei jedem Schleifendurchlauf wird geprüft, ob der momentane Wert der Zählervariable i dem Wert an der Indexposition, der durch die Zählervariable bestimmt wird, gleich ist.
Auf Deutsch: Ist die Zählervariable gerade 2, holst du den Wert an Arrayposition 3 aus dem Array und vergleichst ihn mit dem Wert der Zählervariable.
Und da 2 != 10 ist, wird dein System.out.println(i) übersprungen.
 

Enriko

Mitglied
funzt immer noch nicht was mach ich bloß falsch, wo liegt mein denk fehler?

public class Sort {

public static void main(String[] args) {
int x = 4, y = 6, z= 10;


int[]arr = new int[2];

arr [0] = x;
arr [1] = y;
arr [2] = z;
for (int i = 0; i > arr.length; i++)
{
if(i == arr[0]| i== arr[1] | i == arr[3])
{

System.out.println(i);
}

}

}
}
 

Wildcard

Top Contributor
Code:
 if(i == arr[0]| i== arr[1] | i == arr[3])
Diese Zeile wird eine IndexOutofBoundsException werfen....
Ausserdem muss es
Code:
 for (int i = 0; i < arr.length; i++)
und nicht
Code:
 for (int i = 0; i > arr.length; i++)
sein :wink:
 

Enriko

Mitglied
hab bald fast alle Möglichkeiten durch irgendwann muss es ja funzen!!!!
Aber dies funzt auch nicht :(

public class Sort {

public static void main(String[] args) {
int x = 4, y = 6, z= 10;


int[]arr = new int[2];

arr [0] = x;
arr [1] = y;
arr [2] = z;
for (int i = 0; i < arr.length; i++)
{
if((x < y) && (x> z))
{

System.out.println(x,y,z);
}

}

}
}
 

PyroPi

Aktives Mitglied
Hallo,

mir scheint, du probierst nur irgendwas herum, als übelegt zu programmieren.

Stell dir einfach mal vor, dein Array ist ein Schrank mit mehreren (in deinem Fall 3) Schubfächern. In jedem Schubfach liegt eine bestimmte Anzahl von Kugeln (oder sonstwelchen Gegenständen). Nun stehst du vor dem Schrank und willst die Kugeln so ordnen, daß die im obersten Schubfach die meisten, im untersten die wenigsten sind. Wie machst du das?
Eine gute Idee wäre es doch, z.B. mit dem untersten anzufangen. Du schaust also in das Fach und merkst dir wieviele Kugeln darin liegen. Jetzt gehst du Fach für Fach von unten nach oben durch und machst folgendes: Wenn die Anzahl der Kugeln in einem Fach kleiner ist als die Anzahl der Kugeln im untersten Fach, dann vertauschst du einfach die Kugelanzahl der beiden Fächer. (Vorsicht, du kannst nicht einfach beide Schubladen herausziehen und vertauschen, sondern du muß aus Fach I alle Kugeln herausnehmen, sie in ein separaten Karton legen (z.B. eine Variable temp), dann die Kugeln aus Fach II in Fach I legen, und dann wieder die Kugeln aus dem Karton in Fach II legen.). Wenn du mit diesem Verfahren ganz oben angekommen bist, bist du erstmal fertig. Du weißt jetzt, im untersten Fach sind garantiert die wenigsten Kugeln, bei den anderen Fächern ist die Anzahl noch unsortiert.
Nach dem gleichen Prinzip sortierst du nun also noch die restlichen Fächer, fängst diesmal aber bei dem zweiten von unten an, merkst dir den Wert und gehst wieder nach oben. Bei der nächsten Runde fängst du mit dem dritten von unten an und immer so weiter, bis du irgendwann beim letzten Fach angekommen bist.

Als Algorithmus sieht das ganze dann so aus:
Code:
n = Anzahl der Schubfächer

for startFach=0 to n-1 do  // in jeder Runde ein Fach weiter nach oben rücken
begin
    for aktuellesFach = startFach+1 to n-1 do  // alle Fächer über dem startFach überprüfen
    begin
        if kugeln[aktuellesFach] < kugeln[startFach] then tauscheKugeln(startFach, aktuellesFach)
    end
end

So, hoffentlich hab ich dich jetzt nicht noch weiter verwirrt. :D

Viele Grüße,

PyroPi
 

L-ectron-X

Gesperrter Benutzer
Schön erklärt...

Und bitte auch noch folgemdes bedenken:
Wenn du 3 Zahlen in dein Array legen möchtest, brauchst du auch Platz für 3 Zahlen.
Deshalb:
Code:
int[]arr = new int[3];
 

dieta

Top Contributor
Mit so einem ähnlichen Agorithmus wie dem von PyroPi haben es während einer Aktion der "KinderUni" in Trier 100 Jugendliche geschafft, 100 Zahlen im 10-stelligen Bereich in etwas mehr als 7 Minuten zu sortieren. Respekt! 3,5 sekunden pro Zahl... :applaus:
 

Enriko

Mitglied
dieta hat gesagt.:
Mit so einem ähnlichen Agorithmus wie dem von PyroPi haben es während einer Aktion der "KinderUni" in Trier 100 Jugendliche geschafft, 100 Zahlen im 10-stelligen Bereich in etwas mehr als 7 Minuten zu sortieren. Respekt! 3,5 sekunden pro Zahl... :applaus:

Was greifst du mit dein blöden Komentar andere Leute an, es gibt keine DUMME Fragen sondern nur DUMME Antworten.
 

dieta

Top Contributor
Wen greife ich mit diesem Kommentar an??
Ich meinte damit, das es ein sehr guter Algorithmus ist, wenn man bedenkt, dass wir in unserer Computer-AG für 10 Zahlen mit 9 Leuten über 10 Minuten brauchten! Das ist fast das 20-Fache von denen bei der Kinder-Uni!
 

Enriko

Mitglied
dieta hat gesagt.:
Wen greife ich mit diesem Kommentar an??
Ich meinte damit, das es ein sehr guter Algorithmus ist, wenn man bedenkt, dass wir in unserer Computer-AG für 10 Zahlen mit 9 Leuten über 10 Minuten brauchten! Das ist fast das 20-Fache von denen bei der Kinder-Uni!

Sorry, ist falsch rübergekommen! ???:L
 

Enriko

Mitglied
Ist das bis jetzt richtig und was muss jetzt in System.out.println(????) eingeben?


class Sort{
public static void main(String args []){
int tausch,max = 0;
int x=3,y=2,z=1;
int []arr= new int[3];

arr[0]=x;
arr[1]= y;
arr[2]= z;
for (int i = arr.length; i > 1; i--){

for(int j= 0 ; j >arr.length; j++){

if (arr[max] < arr[j]) { //max = j;
tausch = arr[max]; //hier werden
arr[max] = arr[j]; //die werte des
arr[j] = tausch; //arrays getauscht
}

System.out.println();
}
}
}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Drei Zahlen sortieren Java Basics - Anfänger-Themen 4
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
L Methoden Methode mit drei Rückgabewerten realisieren Java Basics - Anfänger-Themen 3
K drei eindimensionale Arrays in ein zweidimensionales Array Java Basics - Anfänger-Themen 10
H Dreimal die Drei im Array Java Basics - Anfänger-Themen 5
U assertEquals mit drei Parametern? Java Basics - Anfänger-Themen 4
M Was bedeuten die Drei Punkte in einem Methodenkopf? Java Basics - Anfänger-Themen 3
I Drei booleans abfragen Java Basics - Anfänger-Themen 2
N Compiler-Fehler Drei Exceptions in GUIHack für Dreiecke auf MoveButtons Java Basics - Anfänger-Themen 36
M Die drei größten Werte eines Arrays Java Basics - Anfänger-Themen 6
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
P Hintergrundfarbe aus drei Scrollbars Java Basics - Anfänger-Themen 5
J Drei Errors sind drei zuviel! Java Basics - Anfänger-Themen 25
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
Joy drei- und mehrdimensionales Array deklarieren Java Basics - Anfänger-Themen 9
S drei objekte um 1 Wert erhöhen Java Basics - Anfänger-Themen 15
F Immer nur drei Werte lesen Java Basics - Anfänger-Themen 9
T Probleme bei einen Stack der über drei Dateien funktionieren soll Java Basics - Anfänger-Themen 5
B Problem mit Drei-Gewinnt-Spiel Java Basics - Anfänger-Themen 24
N die ersten drei buchstaben eines Strings ausgeben Java Basics - Anfänger-Themen 2
G 523 in Worten fünf zwei drei Java Basics - Anfänger-Themen 10
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Threads Counter mit ungeraden Zahlen Java Basics - Anfänger-Themen 32
JavaBeginner22 Java 2 Zufalls zahlen generieren. Java Basics - Anfänger-Themen 11
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
H Zahlen kürzen Java Basics - Anfänger-Themen 2
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
mhmt_03 dafür sorgen, dass im JTextfield nur zahlen eingebbar sind Java Basics - Anfänger-Themen 9
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
H Alle Geraden zahlen bis 10 ausgeben Java Basics - Anfänger-Themen 11
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
L Mit Zahlen im String rechnen Java Basics - Anfänger-Themen 19
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
H Ungerade Zahlen ausgeben von 1 bis 1000 Java Basics - Anfänger-Themen 8
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
M Zahlen erraten Java Basics - Anfänger-Themen 7
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
D auch negative Zahlen sotieren Java Basics - Anfänger-Themen 18
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
W Bell Zahlen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben