Forum / Grundlagen des Programmierens / 2. Hausübung
2. Hausübung
Hallo Leute!
Hat sich von euch schon jemand die Bsp aus dem Rep angschaut??? Soweit ich weiß hat der Tutor gemeint dass er diese mit Kommentaren versieht um diese verständlicher zu machen, oder irre ich mich???
mfg
Immer wieder heißt es die Studierenden lesen sich oft die Angaben ungenau durch, dann sollen die mal beginnen genaue und eindeutige Angaben zu schreiben die einen nicht verwirren>.< XD
Sorry, aber ich Blick überhaupt nicht durch:
Bei dem Bsp 2 von Kiri
was ist da der Konstruktor, bzw. wo finde ich den? :S
Hier ist wie ich mein Beispiel gemacht hab:
public static float flache = 0;
public static float kantenlange = 0;
static float [] values = new float[2];
public static void main (String [] args) {
Scanner reader = new Scanner (System.in);
System.out.println("Bitte Geben Sie Lange:");
values[0] = reader.nextFloat();
System.out.println("Bitte Geben Sie Breite:");
values[1] = reader.nextFloat();
System.out.println("Was wollen Sie berechnen? (Flache 'f'/ Kantenlange 'l')");
char choice = '\u0000';
choice = reader.next().charAt(choice);
switch (choice){
case 'f':
flacheBerechnung();
break;
case 'l':
kantenBerechnung();
break;
default: System.out.println("Fehler!!");
break;
}
}
public static void flacheBerechnung(){
flache = (values[0] * values[1]);
System.out.println("Flache = " + flache);
}
public static void kantenBerechnung() {
kantenlange = (2*values[0] + 2*values[1]);
System.out.println("Kantenlange = " + kantenlange);
}
}\n~~~
Admin Edit: Ich kanns nur immer wieder sagen, verwendet den [BB-Code](https://studify.com/outgoing?url=http%3A%2F%2Fboards.studify.at%2Fmisc.php%3Fdo%3Dbbcode) "CODE" um euren Quelltext darzustellen! Wichtig für Übersichtlichkeit und Suchfunktion...
Kann jemand bitte mir erklären was "Der Standardkonstruktor soll Vektoren mit den Koordinaten (1|1) erstellen." in beispiel 2.2 bedeutet?
Danke. lg
Kann jemand bitte mir erklären was "Der Standardkonstruktor soll Vektoren mit den Koordinaten (1|1) erstellen." in beispiel 2.2 bedeutet?
Danke. lg
public Vektor2D()
{
this.x = 1;
this.y = 1;
}
\n~~~
public Vektor2D()
{
this.x = 1;
this.y = 1;
}
[/code]
Zur Ergänzung:
Sind die Werte unbekannt, so verwendet man den Standard-Konstruktor zur Erzeugung des Objekts. Kennt man dagegen die Werte der Attribute, so verwendet man den zweiten Konstruktor.
Zur Ergänzung:
Sind die Werte unbekannt, so verwendet man den Standard-Konstruktor zur Erzeugung des Objekts. Kennt man dagegen die Werte der Attribute, so verwendet man den zweiten Konstruktor.
Würd ich anders definieren, "unbekannt" trifft es nicht ganz.
Der Standardkonstruktor wird verwendet, wenn keine Parameter übergeben werden. Also bei einem Objekt
Werden Parameter mitgegeben, kommt der Konstruktor ins Spiel, der gleich viele Attribute initialisiert, wie übergeben werden.
Also z.b.
~~~\npoint p = new point(1,2);
\n~~~
Wäre ein passender Konstruktor:
~~~\npoint (int a, int b) {
//Anweisung
}\n~~~
42065
Bei 2.3. soll ich ja die ganze Funktionalität von Vektor2D mitnehmen. Sprich in der neuen beerbenden Klasse Vektor3D muss i meine Methoden usw um die Z Koordinate erweitern, seh ich das richtig? wenn ja oder auch nein, wie stell ich das an?? ^^
Ich fände sowas in diese Richtung passend:
public class Vektor3D extends Vector2D{
protected int z;
public class Vektor3D{
super(x,y);
double z;
}
public void addvektor(Vector3D){
return x1+x2+x3,
}
public double laenge (){
return Math.sqrt(Math.pow(x, 2)+Math.pow(y, 2))+Math.pow(z, 2));
}
\n~~~
Hier mal die Klasse Vector 3D, für alle dies noch brauchen ;) Meint ihr es passt so?
public class Vector3D extends Vector2D {
double z;
public Vector3D(){
this.z = 1.00;
}
public Vector3D(double x, double y,double z){
super (x,y);
this.z = z;
}
public void addVector(Vector3D vector){
x += vector.x;
y += vector.y;
z += vector.z;
}
@Override
public double getLength(){
return Math.sqrt(Math.pow(x, 2)+ Math.pow(y, 2)+Math.pow(z, 2));
}
public static void main(String[] args) {
double x;
double y;
double z;
Scanner eingabe = new Scanner(System.in);
System.out.println("Geben Sie die x-Koordinate des 1. Vektors ein");
x = eingabe.nextDouble();
System.out.println("Geben Sie die y-Koordinate des 1. Vektors ein");
y = eingabe.nextDouble();
System.out.println("Geben Sie die z-Koordinate des 1. Vektors ein");
z = eingabe.nextDouble();
Vector3D vector1 = new Vector3D (x,y,z);
System.out.println("Geben Sie die x-Koordinate des 2. Vektors ein");
x = eingabe.nextDouble();
System.out.println("Geben Sie die y-Koordinate des 2. Vektors ein");
y = eingabe.nextDouble();
System.out.println("Geben Sie die z-Koordinate des 2. Vektors ein");
z = eingabe.nextDouble();
Vector3D vector2 = new Vector3D(x,y,z);
System.out.println("Geben Sie die x-Koordinate des 3. Vektors ein");
x = eingabe.nextDouble();
System.out.println("Geben Sie die y-Koordinate des 3. Vektors ein");
y = eingabe.nextDouble();
System.out.println("Geben Sie die z-Koordinate des 3. Vektors ein");
z = eingabe.nextDouble();
Vector3D vector3 = new Vector3D(x,y,z);
System.out.println("Länge des 1. Vektors ist "+vector1.getLength());
System.out.println("Länge des 2. Vektors ist "+vector2.getLength());
System.out.println("Länge des 3. Vektors ist "+vector3.getLength());
vector1.addVector(vector2);
vector1.addVector(vector3);
System.out.println("Die Gesamtlänge der Vektoren ist " + vector1.getLength());
}
}\n~~~
hallo, wie kann man im Bsp4 fünf 3D Vektoren zur ArrayList hinzufügen? danke!
List<Vektor3Dcomparable> liste = new ArrayList<>();
liste.add(new Vektor3Dcomparable());
\n~~~
Ja, aber mit einer Schleife.. for schleife über die "add" Methode? nur warum eine schleife?
Andreas @Andi_H
Verfahrenstechnik · Technische Universit...
Stimmt, natürlich war das auch davor schon so.