Ausgabe problem in einer Hausaufgabe

Status
Nicht offen für weitere Antworten.
K

Kquadrator

Gast
Ich weiß leider nicht was mein Fehler ist bei der Ausgabe :(
Kann mir da jemand vielleicht weiter helfen.

Also die Aufgabe ist, 3 Zahlen einlesen lassen und sortiert wieder ausgeben lassen (bubbelsort).
Das mit dem Sortieren war nicht mal so schwer, aber ich habe keine Ahnung wieso ich nichts zurück bekomme :(?

Wichtig ist noch zu sagen, wegen der EinleseFunktion. wir haben in der Schule schon eine Klasse geschrieben wie man sehen kann (InteractivIO).

Ich hoffe jemand kann mir da helfen :(?


Hier mein Quellcode:
Code:
class SortLong {
	//init
	  long number1 = 0;
	  long number2 = 1;
	  long number3 = 2;
	  
	  long []a = new long[3];
	  String test;

//-------------------------------------------------------------------------------------------------	
	public SortLong() throws Exception{
		number1 = InteractivIO.readLong("First number: ");
		number2 = InteractivIO.readLong("Secound number: ");
		number3 = InteractivIO.readLong("Third number: ");
	}

//-------------------------------------------------------------------------------------------------	
	  public long[] sorting(long []list) {           
		    long temp;                                  // helpvariablne for swapping
		    boolean swapping;                         	// merkt sich, ob getauscht
		    			 
			 a[0] = number1;
			 a[1] = number2;
			 a[2] = number3;
		    
		    
		    do {
		    	swapping = false;                     	// nimm an, dass nicht getauscht
		        for (int i=0; i<list.length-1; i++){    // durchlaufe Array
		            if (list[i] > list[i+1]) {          // falls Nachbarn falsch herum
		            	//swapping
		                temp = list[i];                 // bringe 
		                list[i] = list[i+1];            // beide Elemente
		                list[i+1] = temp;               // in die richtige Ordnung
		                //no swapping!
		                swapping = false;               // vermerke, dass getauscht
		            }
		        }
		    } while (!swapping);                        // while swapping
		    return list;
		    }


//-------------------------------------------------------------------------------------------------	
	public String toString(){
		output();
		return test;
	}
	
	public void output(){
		a = sorting(a);
		   for (int i = 0; i < a.length; i++) {
			      System.out.print (a[i] + " ");
			   }		
	}
	
//-------------------------------------------------------------------------------------------------	
	public static void main (String[]args) throws Exception {
		SortLong x;
		x = new SortLong();
		
		InteractivIO.write(x.toString());
	}
	
}//end
 
S

SlaterB

Gast
'while swapping' steht in deinem Kommentar,
'while !swapping' dagegen in deinen Code -> Endlosschleife

> swapping = false; // vermerke, dass getauscht

true?

--------

number1 = 4;
number2 = 5;
number3 = 2;

wurde bei mir nicht richtig sortiert,
Ausgabe: 4 2 5 null

(liegt vielleicht an obigen Fehlern)

---------

innerhalb der eigenen Klasse solltest du
Exemplatrvariablen wie a nicht als Parameter an andere eigene Operationen übergeben,
auch nicht als Rückgabewert zurück und dann überschrieben..
a = sorting(a);

sorting kennt doch a genauso, kann sorting alles selber machen

-------

das Sortieren sollte nicht in der toString()-Operation stattfinden!

welchen Sinn erfüllt test, welches bei toString() zurückgegeben wird?
die Ausgabe erfolgt bisher an System.out, nicht InteractiveIO

--------

wieso liest du die Nummern in einzelne Exemplarvariablen ein und fügst sie beim Sortieren in das Array ein?
das kann direkt im Konstruktor passieren, dann brauchst du

long number1 = 0;
long number2 = 1;
long number3 = 2;

nicht, zumindest nicht als Exemplarvariablen, nur lokal im Konstruktor
 
G

Guest

Gast
SlaterB hat gesagt.:
'while swapping' steht in deinem Kommentar,
'while !swapping' dagegen in deinen Code -> Endlosschleife

> swapping = false; // vermerke, dass getauscht

true?
[/quate]
ah stimmt... nun seh ich die endloss schleifen auch

SlaterB hat gesagt.:
number1 = 4;
number2 = 5;
number3 = 2;

wurde bei mir nicht richtig sortiert,
Ausgabe: 4 2 5 null

(liegt vielleicht an obigen Fehlern)

schon gelöst , dein Beispiel müsste nun auch gehen^.^
Code:
		    do {
		    	swapping = false;                     	// nimm an, dass nicht getauscht
		        for (int i=0; i<list.length-1; i++){    // durchlaufe Array
		        	for (int j=list.length-1; j > i; j=j-1) 
		            if (list[j-1] > list[j]) {          // falls Nachbarn falsch herum
		            	//swapping
		                temp = list[j-1];                 // bringe 
		                list[j-1] = list[j];            // beide Elemente
		                list[j] = temp;               // in die richtige Ordnung
		                //no swapping!
		                swapping = false;               // vermerke, dass getauscht
		            }
		        }
		    } while (swapping);                        // while swapping
		    return list;
		    }
---------
SlaterB hat gesagt.:
innerhalb der eigenen Klasse solltest du
Exemplatrvariablen wie a nicht als Parameter an andere eigene Operationen übergeben,
auch nicht als Rückgabewert zurück und dann überschrieben..
a = sorting(a);

sorting kennt doch a genauso, kann sorting alles selber machen
Du meinst also das ich den code teil in die Funktion "sorting" reinhauen soll?
bin grad etwas verwirrt wegen dem :(


SlaterB hat gesagt.:
das Sortieren sollte nicht in der toString()-Operation stattfinden!

welchen Sinn erfüllt test, welches bei toString() zurückgegeben wird?
die Ausgabe erfolgt bisher an System.out, nicht InteractiveIO
Problem ist hier, das meine funktion "write" nur strings nehmen kann :(
da hab ich mir mit dem Test etwas weiter geholfen ^^;


SlaterB hat gesagt.:
wieso liest du die Nummern in einzelne Exemplarvariablen ein und fügst sie beim Sortieren in das Array ein?
das kann direkt im Konstruktor passieren, dann brauchst du

long number1 = 0;
long number2 = 1;
long number3 = 2;

nicht, zumindest nicht als Exemplarvariablen, nur lokal im Konstruktor
ok... also soll das wieder in den konstruktor rein... wie ich das jetzt verstehe oO?
 
G

Guest

Gast
SlaterB hat gesagt.:
number1 = 4;
number2 = 5;
number3 = 2;

wurde bei mir nicht richtig sortiert,
Ausgabe: 4 2 5 null

(liegt vielleicht an obigen Fehlern)

schon gelöst , dein Beispiel müsste nun auch gehen^.^
Code:
		    do {
		    	swapping = false;                     	// nimm an, dass nicht getauscht
		        for (int i=0; i<list.length-1; i++){    // durchlaufe Array
		        	for (int j=list.length-1; j > i; j=j-1) 
		            if (list[j-1] > list[j]) {          // falls Nachbarn falsch herum
		            	//swapping
		                temp = list[j-1];                 // bringe 
		                list[j-1] = list[j];            // beide Elemente
		                list[j] = temp;               // in die richtige Ordnung
		                //no swapping!
		                swapping = false;               // vermerke, dass getauscht
		            }
		        }
		    } while (swapping);                        // while swapping
		    return list;
		    }
---------
SlaterB hat gesagt.:
innerhalb der eigenen Klasse solltest du
Exemplatrvariablen wie a nicht als Parameter an andere eigene Operationen übergeben,
auch nicht als Rückgabewert zurück und dann überschrieben..
a = sorting(a);

sorting kennt doch a genauso, kann sorting alles selber machen
Du meinst also das ich den code teil in die Funktion "sorting" reinhauen soll?
bin grad etwas verwirrt wegen dem :(


SlaterB hat gesagt.:
das Sortieren sollte nicht in der toString()-Operation stattfinden!

welchen Sinn erfüllt test, welches bei toString() zurückgegeben wird?
die Ausgabe erfolgt bisher an System.out, nicht InteractiveIO
Problem ist hier, das meine funktion "write" nur strings nehmen kann :(
da hab ich mir mit dem Test etwas weiter geholfen ^^;


SlaterB hat gesagt.:
wieso liest du die Nummern in einzelne Exemplarvariablen ein und fügst sie beim Sortieren in das Array ein?
das kann direkt im Konstruktor passieren, dann brauchst du

long number1 = 0;
long number2 = 1;
long number3 = 2;

nicht, zumindest nicht als Exemplarvariablen, nur lokal im Konstruktor
ok... also soll das wieder in den konstruktor rein... wie ich das jetzt verstehe oO?
 
S

SlaterB

Gast
> schon gelöst , dein Beispiel müsste nun auch gehen^.^

solange du nirgendwo swapping = true hast,
kann es nicht gehen,

nicht selber getestet?

> Du meinst also das ich den code teil in die Funktion "sorting" reinhauen soll?

siehe weiter unten

dein Code ist auch noch besonders prekär, als dass du den Parameter long[] list und a selber gleichzeitig benutzt,
list ist anfangs leer,
wenn du in a was reinschreibst, dann auch in list, denn list ist ja gerade a

nachdem du in a etwas eingefügt hast kannst du list erst benutzen, verrückt


> ok... also soll das wieder in den konstruktor rein... wie ich das jetzt verstehe oO?

ist natürlich Geschmackssache, aber ich finde ja

Code:
public class SortLong
{
    private long[] a = new long[3];

    public SortLong()
        throws Exception
    {
        a[0] = 4;
        a[1] = 5;
        a[2] = 2;
        sorting();
    }

    private void sorting()
    {
        long temp; // helpvariablne for swapping
        boolean swapping; // merkt sich, ob getauscht

        do
        {
            swapping = false; // nimm an, dass nicht getauscht
            for (int i = 0; i < a.length - 1; i++)
            { // durchlaufe Array
                if (a[i] > a[i + 1])
                {
                    temp = a[i]; // bringe
                    a[i] = a[i + 1]; // beide Elemente
                    a[i + 1] = temp; // in die richtige Ordnung
                    swapping = true; // vermerke, dass getauscht
                }
            }
        }
        while (swapping); // while swapping
    }

    public String toString()
    {
        String st = "";
        for (int i = 0; i < a.length; i++)
        {
            st += a[i] + " ";
        }
        return st;
    }

    public static void main(String[] args)
        throws Exception
    {
        SortLong x = new SortLong();
        System.out.println(x.toString());
    }

}// end
 
K

Kquadrato

Gast
Also das seltsame ist das Programm geht nun oO
"First number:
4
Secound number:
5
Third number:
2
2 4 5 null"

Aber sobald ich deinen Ratschlag befolge geht es nicht mehr ...
soll sich mein Lehrer über diese seltsame Lösung freuen +hust+
(wenn der auch immer so seltsame Sachen verlangt)

1000Dank für die schnelle Hilfe, ich glaub ich wär da hunder jahre gesessen und hätte nichts gesehen :(
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
JeromeM90 Problem bei einer Ausgabe von einem bestimmten Zeichen Java Basics - Anfänger-Themen 5
A Problem mit Ausgabe einer Liste über einen Client Java Basics - Anfänger-Themen 5
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
S Doppel For Schleife mit Arrays - Problem bei der Ausgabe Java Basics - Anfänger-Themen 4
A Problem mit Array Ausgabe Java Basics - Anfänger-Themen 7
L 2 dimensionales Array, Problem der Ausgabe Java Basics - Anfänger-Themen 4
P Input/Output Problem bei Ausgabe von Arraylist Java Basics - Anfänger-Themen 6
M Problem mit Methoden Ausgabe Java Basics - Anfänger-Themen 17
H Ausgabe Problem Java Basics - Anfänger-Themen 2
M Problem bei Ausgabe eines Arrays Java Basics - Anfänger-Themen 5
P Matrizenrechnung Problem mit Ausgabe Java Basics - Anfänger-Themen 8
S Erste Schritte Kleine Problem mit Ausgabe in eine Datei Java Basics - Anfänger-Themen 11
N Input/Output Schleifen - Ausgabe Problem Java Basics - Anfänger-Themen 2
P Input/Output Eingabe/Ausgabe Problem Java Basics - Anfänger-Themen 2
B Ausgabe problem in Funktionen Java Basics - Anfänger-Themen 6
V Vorstellung und Problem bei Ausgabe des Inhalts eines Arrays Java Basics - Anfänger-Themen 4
K Problem bei Ausgabe mit println Java Basics - Anfänger-Themen 19
N Ausgabe Problem System.console().printf() Java Basics - Anfänger-Themen 6
Z Problem mit Ausgabe eines generischen Suchbaums Java Basics - Anfänger-Themen 3
E Tankbeleg - Problem mit Ausgabe Java Basics - Anfänger-Themen 5
M Problem mit meiner Ausgabe :-( Java Basics - Anfänger-Themen 3
S Ausgabe auf der Java-Console (Java Problem) Java Basics - Anfänger-Themen 13
R Problem bei Ausgabe von Unicode-Zeichen Java Basics - Anfänger-Themen 6
G ausgabe Problem Java Basics - Anfänger-Themen 9
V ganz kurzes kskb mit Problem - keine Ausgabe Java Basics - Anfänger-Themen 2
M problem mit der ausgabe Java Basics - Anfänger-Themen 2
W Problem mit iReport: Keine Ausgabe Java Basics - Anfänger-Themen 9
Z Problem mit Schleife und korrekter Ausgabe: Java Basics - Anfänger-Themen 13
C Matrix: problem mit der Ausgabe Java Basics - Anfänger-Themen 6
E Problem bei Ausgabe von Feldern und Methoden! Java Basics - Anfänger-Themen 2
G Problem mit Ausgabe von Text. Zeilenabbruch. Java Basics - Anfänger-Themen 4
N Ausgabe-Problem Java Basics - Anfänger-Themen 3
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben