Sortiermethode bei Bubblesort

bodo1

Mitglied
Habe ein kleines Problem bei der Implementierung des Quelltextes.
Vll kann ja einer mal kurz draufgucken und mir den fehler sagen.
Dankeschön;)

Klasse für Prüfkörper:
Java:
package objekte;

public class Pruefkoerper {

	private double breite;
	private double hoehe;
	private double kraft;
	
	public Pruefkoerper(double breite, double hoehe, double kraft){
		this.breite=breite;
		this.hoehe=hoehe;
		this.kraft=kraft;
	}
	
}

Klasse für Sortieralgorithmus:
Fehlermeldungen in Zeilen: 20,21,23,27
Java:
package anwendung;

import objekte.Pruefkoerper;

public class auswertung {

	public  Pruefkoerper [] feld;

	private double breite;
	private double hoehe;
	private double kraft;

	public double berechneBruchfestigkeit(){
		return kraft/(breite*hoehe);
	}

	public double sortierePruefkoerper(Pruefkoerper[]feld){
		for(int j=1; j<feld.length; j++){
			for(int i = feld.length-1; i <=j; i++){
				if(feld[i].berechneBruchfestigkeit>=feld[i+1].berechneBruchfestigkeit){
					double zwischenvariable = feld[i];
					feld[i]= feld[i+1];
					feld[i+1]= zwischenvariable;
				}	
			}
		}
		return Pruefkoerper[]feld;
	}
}
 

Asgar13

Bekanntes Mitglied
Z.20
Wenn berechneBruchfestigkeit eine Methode ist.
Java:
feld[i].berechneBruchfestigkeit()

z. 21 du kannst nicht einfach ein Objekt in eine double variable speichern

Java:
Pruefkoerper[] zwischenvariable = feld[i];

z.23 dasselbe wie bei zeile 21 nur genau andresherum.
 

Camill

Bekanntes Mitglied
Du hast beim Aufruf der Methode jedoch die
Code:
()
vergessen, desweiteren gehört die Methode in Klasse
Code:
Pruefkoerper
.

Beim Sortieren würdest du außerdem auch noch eine Exception erhalten da du beim ersten Durchlauf mit der If-Anweisung auf einen nicht vorhandenen Index zu zugreifst:
Code:
feld[i+[COLOR="Red"]1[/COLOR]].berechneBruchfestigkeit
(
Code:
i
ist zu diesem Zeitpunkt bereits das letzte Element)
 
Zuletzt bearbeitet:

bodo1

Mitglied
Danke für den Hinweis (wie oft ich den fehler schon gemacht habe).

Das Problem mit dem double-Werten hab ich versucht zu lösen, indem ich sie zu Prüfkörpern gemacht habe.
Ist das ein richtiger Ansatz?
beim return jedoch kommt immer noch ein fehler. "Syntax error on token(s), misplaced construct(s)"

Java:
package objekte;

public class Pruefkoerper {

	private double breite;
	private double hoehe;
	private double kraft;

	public Pruefkoerper(double breite, double hoehe, double kraft){
		this.breite=breite;
		this.hoehe=hoehe;
		this.kraft=kraft;
	}

	public double berechneBruchfestigkeit(){
		return kraft/(breite*hoehe);
	}

	public  Pruefkoerper [] feld;

	public Pruefkoerper[] sortierePruefkoerper(Pruefkoerper[]feld){
		for(int j=1; j<feld.length; j++){
			for(int i = feld.length-1; i <=j; i++){
				if(feld[i].berechneBruchfestigkeit()>=feld[i+1].berechneBruchfestigkeit()){
					Pruefkoerper zwischenvariable = feld[i];
					feld[i]= feld[i+1];
					feld[i+1]= zwischenvariable;
				}	
			}
		}
		return Pruefkoerper[]feld;
	}
}
 

bodo1

Mitglied
Fehlermeldung in der Zeile 25:(
Dabei sieht doch alles so schön aus:bahnhof:
Hat jemand ne Ahnung was da schiefgegangen sein könnte?

Java:
package anwendung;

import objekte.Pruefkoerper;

public class test {

	public static void main (String[]args){

		Pruefkoerper pk1 = new Pruefkoerper(120, 200, 509000);
		Pruefkoerper pk2 = new Pruefkoerper(150, 150, 817000);
		Pruefkoerper pk3 = new Pruefkoerper(150, 150, 617000);
		Pruefkoerper pk4 = new Pruefkoerper(130, 170, 320000);
		Pruefkoerper pk5 = new Pruefkoerper(120, 180, 743000);
		Pruefkoerper pk6 = new Pruefkoerper(200, 200, 920000);

		Pruefkoerper[] m = new Pruefkoerper[6];

		m[0]=pk1;
		m[1]=pk2;
		m[2]=pk3;
		m[3]=pk4;
		m[4]=pk5;
		m[5]=pk6;

		System.out.println(m.sortiereBruchfestigkeit);
	}
}
 
Zuletzt bearbeitet:

Camill

Bekanntes Mitglied
Du kannst auf die einzelnen Methoden der Klasse
Code:
Pruefkoerper
nur mit einem Pruefkoerper Objekt drauf zugreifen, in der besagten Zeile versucht du es jedoch mit einem Array voller Pruefkoerper Objekte.
 

bodo1

Mitglied
ganz ehrlich? versteh ich nicht:autsch:
will ich nicht mein neues feld sortiert ausgegeben haben?
wenn ich dich richtig verstehe müsste ich jetzt irgendwas mit Prüfkörper schreiben oder?
 

Camill

Bekanntes Mitglied
Habe mal eine lauffähige Version erstellt, so könnte das ganze Aussehen:
Java:
public class Pruefkoerper {
	
	private double breite;
	private double hoehe;
	private double kraft;
	
	public Pruefkoerper(double breite, double hoehe, double kraft) {
		
		this.breite = breite;
		this.hoehe = hoehe;
		this.kraft = kraft;
	}
	
	public double berechneBruchfestigkeit() {
		return kraft / (breite * hoehe);
	}
}

Java:
public class Auswertung {
	
	public static void main(String[] args) {
		
		Pruefkoerper[] pruefkoerpers = {
				new Pruefkoerper(1, 1, 50), new Pruefkoerper(10, 2, 1),
				new Pruefkoerper(7, 11, 3), new Pruefkoerper(4, 19, 1)};
		
		sortierePruefkoerper(pruefkoerpers);
		
		for(int i = 0; i < pruefkoerpers.length; i++) {
			System.out.println(pruefkoerpers[i].berechneBruchfestigkeit());
		}
	}
	
	static Pruefkoerper[] sortierePruefkoerper(Pruefkoerper[] feld) {
		
		Pruefkoerper pruefkoerper;
		for(int i = 0; i < feld.length - 1; i++) {
			
			for(int j = i + 1; j < feld.length ; j++) {
				if(feld[i].berechneBruchfestigkeit() > feld[j].berechneBruchfestigkeit()) {
					pruefkoerper = feld[i];
					feld[i] = feld[j];
					feld[j] = pruefkoerper;
				}
			}
		}
		return feld;
	}
}

Hoffe das es verständlich ist.
 

bodo1

Mitglied
irgendwie versteh ichs nicht nein.
dachte vll kann kannst du mir sagen wo ich einen fehler gemacht habe:)
aber nett dass du das ganze programm mal eben so neu geschrieben hast *neidig-in-den-himmel-guck* ;)
 

Camill

Bekanntes Mitglied
Wie ich weiter oben bereits schrieb war bei dir Zeile 25 das Problem:
[JAVA=25]System.out.println(m.sortiereBruchfestigkeit);[/code]
Du hast versucht mit einem Array auf die Methode
Code:
sortiereBruchfestigkeit()
der Klasse
Code:
Pruefkoerper
zuzugreifen, dies ist jedoch nur mit einem einzelnen Objekt der Klasse möglich, bsp.:
Java:
m[0].sortiereBruchfestigkeit()

Somit könntest du die Sortier-Methode direkt in der Applikationsklasse schreiben(wie in der von mir geposteten Lösung). Habe die for-Schleifen noch entsprechend abgeändert sodass nun auch richtig sortiert wird.
 

bodo1

Mitglied
hatte gehofft, dass ich schon fast fertig war und nur nen denkfehler hatte, aber anscheinend war doch wieder mehr falsch...
ich versuch mal deine methode zu implementieren.

danke dir
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Generischer Bubblesort Java Basics - Anfänger-Themen 19
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
H Bubblesort-Algorithms Java Basics - Anfänger-Themen 14
I Bubblesort Java Basics - Anfänger-Themen 1
L Bubblesort in Batch Script Java Basics - Anfänger-Themen 15
D Bubblesort Java Basics - Anfänger-Themen 2
G Bubblesort Array der Größe 10 Java Basics - Anfänger-Themen 1
M Bubblesort ohne Array Java Basics - Anfänger-Themen 30
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
R Erste Schritte Einsteiger-Video Bubblesort Bewertung Java Basics - Anfänger-Themen 11
D Array/Bubblesort Fehlermeldungen Java Basics - Anfänger-Themen 1
U BubbleSort Problem Java Basics - Anfänger-Themen 2
L Array und Bubblesort Java Basics - Anfänger-Themen 4
L Frage zu BubbleSort Algorithmus Java Basics - Anfänger-Themen 2
T BubbleSort Java Basics - Anfänger-Themen 9
O Bubblesort allgemeiner schreiben Java Basics - Anfänger-Themen 5
J Interface Bubblesort soll Arrays beliebiger Referenztypen sortieren können. Java Basics - Anfänger-Themen 5
N Mein Bubblesort sortiert mein Array nicht Java Basics - Anfänger-Themen 2
E BubbleSort Java Basics - Anfänger-Themen 2
J Erste Schritte Bubblesort Java Basics - Anfänger-Themen 6
G Array mit BubbleSort sortieren Java Basics - Anfänger-Themen 2
N Bubblesort Programm funktioniert nicht Java Basics - Anfänger-Themen 19
R BubbleSort Java Basics - Anfänger-Themen 4
R BubbleSort Java Basics - Anfänger-Themen 15
A BubbleSort Java Basics - Anfänger-Themen 7
B BubbleSort Java Basics - Anfänger-Themen 10
R BubbleSort Java Basics - Anfänger-Themen 6
C Klassen BubbleSort was passiert mit dem Index ? Java Basics - Anfänger-Themen 2
G Bubblesort - Falsche Sortierung Java Basics - Anfänger-Themen 6
M Laufzeitanalyse Bubblesort Java Basics - Anfänger-Themen 7
T BubbleSort Java Basics - Anfänger-Themen 2
P BubbleSort-Methode Java Basics - Anfänger-Themen 18
M BubbleSort (Sortieralgorithmus) Java Basics - Anfänger-Themen 28
B Bubblesort Java Basics - Anfänger-Themen 70
G Bubblesort ohne Schleifen Java Basics - Anfänger-Themen 10
F Bubblesort, Insertsort Java Basics - Anfänger-Themen 2
K BubbleSort Hausaufgabe Java Basics - Anfänger-Themen 20
B Bubblesort-Algorithmus und Testklasse Java Basics - Anfänger-Themen 5
c_sidi90 Array mit Bubblesort sortieren Java Basics - Anfänger-Themen 8
B Java Bubblesort Java Basics - Anfänger-Themen 5
F Bubblesort---Frage von Anfänger Java Basics - Anfänger-Themen 2
E BubbleSort kleiner Fehler? Java Basics - Anfänger-Themen 14
B BubbleSort Java Basics - Anfänger-Themen 5
L Bubblesort: Exception in Thread "main" Java Basics - Anfänger-Themen 5
K Einfaches Bubblesort Java Basics - Anfänger-Themen 11
W Problem mit BubbleSort und Array Java Basics - Anfänger-Themen 10
Spin taschenrechner incl bubblesort Java Basics - Anfänger-Themen 5
G Bubblesort Java Basics - Anfänger-Themen 2
Binary.Coder Bubblesort in einfachen unmissverständlichen Sätzen Java Basics - Anfänger-Themen 2
B Bubblesort Verfahren Java Basics - Anfänger-Themen 2
C Bubblesort Java Basics - Anfänger-Themen 5
I BubbleSort-Algorithmus Java Basics - Anfänger-Themen 8
G Bubblesort Java Basics - Anfänger-Themen 23
G Bubblesort Java Basics - Anfänger-Themen 15
kulturfenster BubbleSort Java Basics - Anfänger-Themen 7
T Bekomme Fehler mit Bubblesort Java Basics - Anfänger-Themen 2
T Zahlen mit Bubblesort sortieren Java Basics - Anfänger-Themen 2
D Bubblesort und Array Java Basics - Anfänger-Themen 6
T Bubblesort Java Basics - Anfänger-Themen 5
L Bubblesort funzt nicht Java Basics - Anfänger-Themen 3
N bubblesort Java Basics - Anfänger-Themen 4
T BubbleSort optimieren ??? Java Basics - Anfänger-Themen 26

Ähnliche Java Themen

Neue Themen


Oben