# BalkenMitLast



## looser88 (3. Jul 2012)

[JAVA=42]package statObjekteHa;

public class ModellHa {

	private BalkenMitLast balken1;
	private BalkenMitLast balken2;
	private BalkenMitLast balken3;
	private BalkenMitLast balken4;
	private Dehnstab stab1;
	private Dehnstab stab2;
	private Dehnstab stab3;

	public ModellHa (BalkenMitLast balken1, BalkenMitLast balken2, BalkenMitLast balken3, BalkenMitLast balken4,Dehnstab stab1,Dehnstab stab2,Dehnstab stab3 ){
		this.balken1 = balken1;
		this.balken2 = balken2;
		this.balken3 = balken3;
		this.balken4 = balken4;
		this.stab1 = stab1;
		this.stab2 = stab2;
		this.stab3 = stab3;

	}



	public void berechnungBalkenmitte (double m ){


		double p2 = (balken2.getEinzellastF()*Math.pow(balken2.getLaenge(),3))/(48*m*Math.pow(10,7));
		double p1 = (balken1.getEinzellastF()*Math.pow(balken1.getLaenge(),3))/(48*m*Math.pow(10,7));
	    double p3 = (balken3.getEinzellastF()*Math.pow(balken3.getLaenge(),3))/(48*m*Math.pow(10,7));
	    double p4 = (balken4.getEinzellastF()*Math.pow(balken4.getLaenge(),3))/(48*m*Math.pow(10,7));
	}
	public void berechnungStauchung (double h,double m){

	    double Stauchung = ((((balken1.getEinzellastF()+balken2.getEinzellastF()+balken3.getEinzellastF()+balken4.getEinzellastF())/2)*(stab1.h/3))/(m*Math.pow(10, 1)))+
	    (((((balken1.getEinzellastF()+balken2.getEinzellastF()+balken3.getEinzellastF()+balken4.getEinzellastF())/2)+(stab2.EinzellastF5))*(stab2.h/3))/(m*Math.pow(10, 2)))+
	    (((((balken1.getEinzellastF()+balken2.getEinzellastF()+balken3.getEinzellastF()+balken4.getEinzellastF())/2)+(stab3.EinzellastF5))*(stab3.h/3))/(m*Math.pow(10, 3)));

	}

}
[/code]



[JAVA=42]package AnwendungHa;

import statObjekteHa.BalkenMitLast;
import statObjekteHa.Dehnstab;
import statObjekteHa.ModellHa;


public class AnwHa {
	public static void main(String[] args) {
		BalkenMitLast balken1 = new BalkenMitLast(3.7,10.1);
		BalkenMitLast balken2 = new BalkenMitLast(4.2,2.3);
		BalkenMitLast balken3 = new BalkenMitLast(5.6,20.5);
		BalkenMitLast balken4 = new BalkenMitLast(2.3,8.9);

		Dehnstab stab1 = new Dehnstab(5000/3,((balken1.getEinzellastF()+balken2.getEinzellastF()+balken3.getEinzellastF()+balken4.getEinzellastF())/2),332262*Math.pow(10,1));
		Dehnstab stab2 = new Dehnstab(5000/3,((balken1.getEinzellastF()+balken2.getEinzellastF()+balken3.getEinzellastF()+balken4.getEinzellastF())/2)+3.5,332262*Math.pow(10,2));
		Dehnstab stab3 = new Dehnstab(5000/3,((balken1.getEinzellastF()+balken2.getEinzellastF()+balken3.getEinzellastF()+balken4.getEinzellastF())/2)+3.5,332262*Math.pow(10,3));


		ModellHa AnwHa = new ModellHa (balken1, balken2, balken3, balken4, stab1, stab2, stab3);

		AnwHa.berechnungBalkenmitte(332262);

		AnwHa.berechnungStauchung(5/3, 332262);

		System.out.println("Absenkung im Punkt p1 = "+p1 + "mm");
		System.out.println("Absenkung im Punkt p2 = "+p2 + "mm");
		System.out.println("Absenkung im Punkt p3 = "+p3 + "mm");
		System.out.println("Absenkung im Punkt p4 = "+p4 + "mm");
		System.out.println("Absenkung im Gelenk g = "+Stauchung + "mm");
	}

}
[/code]

Wie bekommen ich die Fehler behoben .....???????:L
Er sagt mir ModellHa AnwHa = new ModellHa (balken1, balken2, balken3, balken4, stab1, stab2, stab3);
the constructor is undefined???
Und wie bekommen ich die Lösungen der Formel p1,p2,p3,p4,Stauchung in die main-Methode ???


----------



## SlaterB (3. Jul 2012)

bei mir gibt es keinen Fehler mit dem Konstruktor, hast du irgendwo doppelte Klassen oder ähnlich komisches?
BalkenMitLast  + Dehnstab sind nicht gepostet (die musste ich selber ergänzen), 
die package-Angaben überall lassen aber nicht viele Fehler zu..

fange notfalls nochmal in einem neuen Projekt sauber an,
erstmal nur Dummy-Klassen a la


```
public class BalkenMitLast  {

}
```
wegen besonderer dringlichkeit gleich ModellHa auch anlegen, auch wieder erst leer, aber gleich mit Konstruktor mit je EINEM Parameter jeder Art,
dazu Aufruf in einer main, da auch Fehler?

wenn nicht dann von dort ausgehen, Konstruktor auf alle 7 ausweiten, als Attribute abspeichern, die Klassen weiter auffüllen, 
wenn es irgendwann nicht mehr gehen sollte versuchen einen Schritt zurück,
notfalls wieder mit neuen Projekt anfangen bis Fehler genauer gefunden..

----

eine einfache Variante wäre, p1-p4 usw. als Instanzattribute abzulegen und in der main abzufragen,
bisschen hochwertiger wäre Arbeit mit Rückgabewerten von Methoden


-----

edit: hast du gerade mit Absicht meine Änderung des Thementitel zurück auf 'Verwirrt?!' geändert?
das wage lieber nicht 
einen besseren als 'BalkenMitLast' kannst du dir freilich gerne noch ausdenken und editieren


----------



## looser88 (3. Jul 2012)

Hier die anderen Klassen ...könntest du es etwas verständlicher formulieren ...bin noch Anfänger 


[JAVA=42]package statObjekteHa;

public class BalkenMitLast {
	double laenge ;
	double EinzellastF;


	public BalkenMitLast (double laenge,double EinzellastF ){
	this.laenge = laenge;

	this.EinzellastF = EinzellastF;

	}
	public double getLaenge () {
		return laenge;
	}

	public double getEinzellastF () {
		return EinzellastF;
	}


}
[/code]

[JAVA=42]package statObjekteHa;

public class Dehnstab {
	double e;
	double h;
	double Last;
	double EinzellastF5;

	public Dehnstab (double h,double Last,double e ){
		this.h = h;
		this.Last = Last;

	}
	public double geth(){
		return h;
	}
	public double getLast(){
		return Last;
	}
	public double gete(){
		return e;
	}
	public double getEinzellastF5(){
		return EinzellastF5;
	}

}
[/code]


----------



## SlaterB (3. Jul 2012)

was genau war unverständlich? es gibt ja mindestens zwei unterschiedliche Themen,
zum ersten, zum Konstruktor, habe ich jetzt nochmal alle Klasse genau in ihren packages kopiert,
kein Compilerfehler,

mehr als den schon geschriebenen Rat zum neuen Projekt will mir nicht einfallen

----

zum zweiten Thema könnte ich schon eher Rückfragen verstehen, aber das ist wohl erst interessant wenn das erste erledigt ist?


----------



## looser88 (3. Jul 2012)

Also verstehe ich das Richtig ...du hast den Quelltext kopiert und in eclipse eingefügt und hast keinerlei Fehlermeldung ?!


----------



## SlaterB (3. Jul 2012)

genau, da ist wirklich nichts falsch, 

nun fällt mir dich noch was ein:
kompiliert
ModellHa AnwHa = new ModellHa( null,null,null,null,null,null,null,);
?
damit würdest du die Einschränkung auf konkrete Klassen vermeiden, falls es bei dir doch irgendwie mehrere im Umlauf sind,

aber weitere Untersuchungen dazu wären mühsam..,
falls interessiert: 
kannst du einen Konstruktor mit nur einem Parameter anlegen und dann auch aufrufen?
mal mit BalkenMitLast, mal mit Dehnstab?

kannst du in allen Klassen public statische Konstanten neu anlegen und sie von allen anderen Klassen aus aufrufen?
wenn die nicht gefunden werden spricht das umso mehr für verschiedene Versionen


----------



## looser88 (3. Jul 2012)

Fehler habe ich wegbekommen  nun wie bekomme ich die p1,p2 usw vom ModellHa in meinen AnwHa !?!?!?!????:L???:L
Ick raff es einfach nicht ..........


----------



## SlaterB (3. Jul 2012)

in Attributen speichern, so wie du auch schon 
> double EinzellastF;
hast und darauf auch zugreifst, auch ohne get-Methode..

wenn du willst dann freilich auch get + set für die neuen Attribute in ModellHa,


Variablen übrigens immer klein schreiben!


----------



## looser88 (3. Jul 2012)

kann ich nicht einfach 

[JAVA=42]double p1 = ModellHa.berechnungBalkenmitte.p1;[/code]
 oder so eingeben ....damit er weiß er soll die Formel aus ModellHa nehmen....?


----------



## SlaterB (3. Jul 2012)

nein, so funktioniert es nicht,
die Methode musst du schon normal aufrufen, 
eine Zeile danach dann p1 abholen, aber bitte mit korrekter Syntax, die sollte klar sein..


----------

