Warum gibt er die Liste rückwärts aus!

Status
Nicht offen für weitere Antworten.

Bierhumpen

Bekanntes Mitglied
Warum gibt er die liste falschrum aus... er gibt sie absteigend aus... aber es soll aufsteigend ausgegeben werden?!

Code:
public class Node 
{
   Node link;
   Object data;

   Node(Object d, Node n) 
   {
      data = d; link = n;  
   }
}

Code:
import java.util.*;

class Lotto{

    
    static Node convertAndSort(int [] arr){
        Arrays.sort(arr);
        Node list = null;
        
        for (int i=0; i<arr.length; i++){
            list = new Node (new Integer (arr[i]), list);
        }
        
        return list;
            
    }
    
    
    static void printList(Node n){   
      while (n != null){
        System.out.print(n.data+" "); n = n.link; }
      System.out.println();
    }
    
    
    static void playIt(){
        
    }
    
    
    public static void main (String [] args) throws Exception{
    
        int [] a = {1,3,5,6,4,4};
        printList(convertAndSort(a));
        
    }
}
 
B

bygones

Gast
hä ? warum erstellst du in convertAndSort eine Instanz von Node und überschreibst die immer ?
 

Oskar

Aktives Mitglied
Deine Methode
Code:
static Node convertAndSort(int [] arr){
        Arrays.sort(arr);
        Node list = null;
       
        for (int i=0; i<arr.length; i++){
            list = new Node (new Integer (arr[i]), list);
        }
       
        return list;
           
    }

Gibt am Ende eine Referenz auf das letze Objekt zurück !?
Und dann durchläufst du die Methode von Hinten nach vorne bis es kein vorheriges Objekt mehr gibt.

Um das zu erreichen was du willst müsste sie so aussehen:
Code:
static Node convertAndSort(int [] arr){
        Arrays.sort(arr);
        Node currNode = null;
       
        for (int i=arr.length-1; i=>0; i--){
            currNode = new Node (new Integer (arr[i]), currNode);
        }
       
        return currNode;
           
    }

Du musst die for-Schleife umdrehen, damit er dir das erste Element zurückgibt und beim größten der Nachfolgewert null ist.

hm hoffe das stimmt so.
 
S

SlaterB

Gast
sogesehen werden Probleme ja immer umgangen statt behoben ;)

Arrays.sort(array) ist nun mal ein einzelner Befehl, der kann nicht wisse wie du es gerne hättest,
der kann nur aufwärts oder abwärts sortieren,

wenn er es andersrum machen würde dann könntest du
> Warum gibt er die liste falschrum aus... er gibt sie absteigend aus
das hier schreiben:
> Warum gibt er die liste falschrum aus... er gibt sie aufsteigend aus

und die Situation wäre nicht anders,
du musst dein Programm also immer den Gegebenheiten anpassen,
z.B. nach dem sort das Array umdrehen, notfalls per Hand in einer Schleife,
kommt aber praktisch auf das gleiche heraus

oder beim sort einen Comparator mitgeben der für deine Anforderungen richtig sortiert
 

Oskar

Aktives Mitglied
Dann stellt sich die Frage wie deine Liste aussehen soll. ???:L

Ich bin davon ausgegangen, dass du sie von ersten (kleinsten) Element bis zum letzten Element durchgehen und jeweils den Wert auslesen willst der als nächstes kommt.

Oder hast du anderes vor? :roll:
 

Bierhumpen

Bekanntes Mitglied
okay.
also Arrays.sort sortiert doch von klein nach groß oder wird das auf eine bestimmte art und weise bestimmt dass er es ab- oder aufsteigend macht?!

ich bin davon ausgegangen dass Arrays.sort von klein nach groß sortiert, und wollte es auch in dieser reihenfolge in die liste schreiben.
 
G

Guest

Gast
Nicht die Sortierung ist das Problem, sondern deine komische Verkettung.
Was du da in der Schleife machst, ist LIFO (Last In, First Out).
 

Bierhumpen

Bekanntes Mitglied
hmmm okay... kann mir so ungefähr vorstellen was du damit meinst. wie dreh ich dass denn dann um?! ausser mit i=arr.length-1 zu beginnen?!
stimmt es denn das sort von klein nach groß sortiert?!
 
G

Guest

Gast
Bierhumpen hat gesagt.:
hmmm okay... kann mir so ungefähr vorstellen was du damit meinst. wie dreh ich dass denn dann um?! ausser mit i=arr.length-1 zu beginnen?!
Code:
public class Node
{
  Node next;
  Object data;

  Node(Object d, Node previous)
  {
     data = d;
     if(previous!=null)
       previous.next = this;
  }
}

...

static Node convertAndSort(int [] arr)
{
  Arrays.sort(arr);

  Node first = new Node(new Integer(arr[0]), null);
  Node node = first;
  for (int i=1; i<arr.length; i++)
  {
    node = new Node(new Integer(arr[i]), node);
  }
  return first;
}
Bierhumpen hat gesagt.:
stimmt es denn das sort von klein nach groß sortiert?!
Ja. Es sei denn, du verwendest einen Comparator...
 

Bierhumpen

Bekanntes Mitglied
hmm ganz nett.. allerdings soll die Node.java nicht verändert werden

ach ist ja auch schnurz. die methode heisst convertandsort, und das tut sie ja...

gelöst [close]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
P Gibt es einen anderen Weg um "{}" in IntelliJ zu schreiben? Java Basics - Anfänger-Themen 5
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
N Gibt es hierfür einen Shortcut Java Basics - Anfänger-Themen 5
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
J Interpreter-Fehler Programm gibt nicht gewünschtes Ergebnis aus Java Basics - Anfänger-Themen 11
G Input/Output getText() gibt keinen Wert! Java Basics - Anfänger-Themen 13
Arita welche Fehler gibt es noch? wie kann ich es noch vervollständigen Java Basics - Anfänger-Themen 15
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
S Gibt es ein simples JWebbrowser Element? Java Basics - Anfänger-Themen 6
S Gibt es irgendeine Möglichkeit, dies zu tun?(Android Studio) Java Basics - Anfänger-Themen 1
S Gibt es sowas (JSpinner)? Java Basics - Anfänger-Themen 9
F If Abfrage gibt falsches Ergebnis.... Java Basics - Anfänger-Themen 6
J Erste Schritte Gibt es setMantisse? Java Basics - Anfänger-Themen 7
J Vektoren Add gibt nicht das aus was es sollte Java Basics - Anfänger-Themen 3
S Gibt es einen guten kostenlosen Online-kurs Java Basics - Anfänger-Themen 2
D Warum gibt mir das Programm nicht den Array invertiert an ? Java Basics - Anfänger-Themen 1
B Prüfen, ob es schon einen Termin gibt in einem Zeitraum Java Basics - Anfänger-Themen 5
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
S Gibt es eine Funktion, die gewissermaßen eine Reihe von instanceOf() vereinheitlicht? Java Basics - Anfänger-Themen 19
N Ausführung gibt keinen Fehler an, Return wird aber nicht ausgegeben Java Basics - Anfänger-Themen 22
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
E Gibt es in Java Properties (wie in C#) Java Basics - Anfänger-Themen 6
R Gibt es Eine einfache Programierung dieser Methoden Java Basics - Anfänger-Themen 8
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
B Wieso gibt er hier nur die ungeraden Zahlen aus? Java Basics - Anfänger-Themen 5
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
D Funktion gibt Dimension zurück Java Basics - Anfänger-Themen 11
JavaNewbie2.0 Gibt meiner Meinung etwas falsches aus. Java Basics - Anfänger-Themen 7
S Ausgabe gibt nur Arrayadresse aus... Java Basics - Anfänger-Themen 4
F Scanner - nextLine() gibt leeren String zurück Java Basics - Anfänger-Themen 2
Tommy Nightmare void Methode gibt Array zurück Java Basics - Anfänger-Themen 3
N Kalender - Tag addieren gibt 31. Juni zurück Java Basics - Anfänger-Themen 3
G Gibt es eine Methode die bei einem StringBuilder n mal das Zeichen c hinzufügt? Java Basics - Anfänger-Themen 6
G Taschenrechner gibt nur 0.0 aus Java Basics - Anfänger-Themen 8
OlafHD Gibt es einen Laufbalken? Java Basics - Anfänger-Themen 2
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
G Input/Output InputStream gibt nicht die Korrekten Werte aus Java Basics - Anfänger-Themen 10
W IllegalArgumentException gibt nichts aus Java Basics - Anfänger-Themen 2
K Programm gibt nichts aus? Java Basics - Anfänger-Themen 2
M Erste Schritte Wie speichert und gibt man Arrays aus? (JLabel) Java Basics - Anfänger-Themen 12
B gibt es ein Stundenplan-Algorithmus? Java Basics - Anfänger-Themen 11
G Konsole gibt "alte" sachen aus Java Basics - Anfänger-Themen 3
J while(nst == 0) gibt Fehlermeldung Java Basics - Anfänger-Themen 4
W Input/Output DataOutputStream gibt NULL zurück Java Basics - Anfänger-Themen 5
O Methode gibt Null zurück Java Basics - Anfänger-Themen 7
F Java-Programm gibt in Eingabeaufforderung nichts aus Java Basics - Anfänger-Themen 4
T Konsole gibt nicht das Gewünschte aus Java Basics - Anfänger-Themen 5
T Input/Output GregorianCalender gibt falsch aus? Java Basics - Anfänger-Themen 4
C OOP Erstellen eigener Objekte die es schon gibt "schlau"? Java Basics - Anfänger-Themen 3
I beim auslesen der Properties gibt es ein Fehler Java Basics - Anfänger-Themen 7
C Input/Output System.in.read() gibt nicht -1 zurück? Java Basics - Anfänger-Themen 3
T String gibFarbe() - gibt nix?! Java Basics - Anfänger-Themen 13
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2
P Temperatur Umrechner gibt nur ein Ergebnis aus Java Basics - Anfänger-Themen 2
S Class File Editor gibt beim Start der Programms die Fehlermeldung Source not found aus Java Basics - Anfänger-Themen 1
D Methode die statt char[] ein "null" zurück gibt Java Basics - Anfänger-Themen 8
M Input/Output File.listFiles() gibt null zurück Java Basics - Anfänger-Themen 3
C Welches Format gibt Java aus? Java Basics - Anfänger-Themen 5
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
M toString gibt "null" statt "0.0" aus Java Basics - Anfänger-Themen 5
P 2D Array auslesen gibt nur letzten Wert aus Java Basics - Anfänger-Themen 11
O Funktioniert dies? Und gibt es eine bessere Lösung? Java Basics - Anfänger-Themen 6
T Methoden methode gibt array bound exeption Java Basics - Anfänger-Themen 8
B Input/Output File.length() gibt bei vielen Ordnern 0 zurück Java Basics - Anfänger-Themen 9
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
SheldoN Gibt es größere Datentypen als long? Java Basics - Anfänger-Themen 2
S Rückgabetyp - Objekt gibt sich selber zurück Java Basics - Anfänger-Themen 4
G Eclipse gibt Fehler aus, Jelliot (z.B.) nicht Java Basics - Anfänger-Themen 1
C Programm gibt merkwürdige Zahl aus Java Basics - Anfänger-Themen 3
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
N Unerklärlich: Rekursiver Algorithmus gibt falschen Datentyp zurück... Java Basics - Anfänger-Themen 4
P toString-Methode gibt immer null vor Variable aus Java Basics - Anfänger-Themen 9
L JTextField getText() gibt immer null zurück Java Basics - Anfänger-Themen 10
K Javalexikon für Grundbegriffe? Gibt es sowas? Java Basics - Anfänger-Themen 7
J SuM.kern.Maus gibt null obwohl initialisiert Java Basics - Anfänger-Themen 3
M Datentypen Char Array in String Array gibt Probleme Java Basics - Anfänger-Themen 10
A InputStream gibt nur jede 2te Zeile aus Java Basics - Anfänger-Themen 7
D p q formel gibt zum Teil falsche Werte aus Java Basics - Anfänger-Themen 5
R Gibt es eine (Schnittstelle) für .ini Datei Formatierungen? Java Basics - Anfänger-Themen 8
D Gibt es in Java Pointerarithmetik? Java Basics - Anfänger-Themen 3
B KeyTyped gibt falschen Wert aus Java Basics - Anfänger-Themen 2
Z Programm gibt nicht das gewollte aus. Java Basics - Anfänger-Themen 3
F Midi-Sequenzer gibt immer denselben, schrägen Ton aus? Java Basics - Anfänger-Themen 2
R Programm gibt keine Reaktion unter Eclipse auf Mac Java Basics - Anfänger-Themen 13
O Gibt es dafür einen regulären Ausdruck? Java Basics - Anfänger-Themen 9
M Gibt es eine einfachere Variante diese Aufgabenstellung zu lösen? Java Basics - Anfänger-Themen 11
J Gibt es eine möglichkeit ähnlich wie .equals(bedingung1 ||bedingung ..n) ? Java Basics - Anfänger-Themen 5
C Array ist befüllt, doch gibt sie immer 0 zurück Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben