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
Hi Leute! Was ist da bei Bsp 2.2 eigentlich mit "Ein zweites Objekt vom Typ Vektor2D" gemeint? Kann mir irgendwie keinen Reim drauf machen!
hey leute. hat schon jemand eine saubere Lösung von Beispiel 2-4 und wär so nett die quelltexte hier hochzuladen? ich beiß mir daran die zähne aus und bekomm das ganze nicht zufriedenstellend hin. bin leider auch durch die literatur dazu nicht schlau geworden. wär super wenn ich mir eine Lösung anschauen könnte die funktioniert, dann könnte ich das auf mein problem ummünzen ;)
Kann mir bitte wer sagen wo ich die "Musterlösung" für Bsp. 2.5 herunterladen kann?
Findest du in Tuwel in der Rubrik wo die Angaben der 1 Hü waren (Musterlösung ...)
hey leute. hat schon jemand eine saubere Lösung von Beispiel 2-4 und wär so nett die quelltexte hier hochzuladen? ich beiß mir daran die zähne aus und bekomm das ganze nicht zufriedenstellend hin. bin leider auch durch die literatur dazu nicht schlau geworden. wär super wenn ich mir eine Lösung anschauen könnte die funktioniert, dann könnte ich das auf mein problem ummünzen ;)
Ja ich würde auch um einen quelltext bitten....wär echt wichtig...weil außer bsp 1 is das ja ein wahnsinn für jmd. der kein programmierer werden will...:(
Ja ich würde auch um einen quelltext bitten....wär echt wichtig...weil außer bsp 1 is das ja ein wahnsinn für jmd. der kein programmierer werden will...:(
ich schließ mich dir an. ich check nicht mal die angabe...
Wie schaut das eigentlich mit Vektor 3D aus? Vektor 2D hab ich soweit fertigprogrammiert, aber ich bin mir jz nicht sicher wie ich das mit der vererbung anstelle. Was muss genau vererbt werden? Ich hätte mir gedacht:
public double z1, z3;
Vektor3D (double x1, double y1, double z1) {
super(x1, y1);
this.z1=z1; }
public double laengenberechnung3D() {
vektorlaenge = (double) Math.sqrt(x1*x1+y1*y1+z1*z1);
return vektorlaenge;}
public double [] vektoraddition3D (double x2, double y2, double z2) {
x3=x1+x2;
y3=y1+y2;
z3=z1+z2;
double[] array = new double[]{x3,y3,z3};
return array; }
}\n~~~
und anschließend das main programm nocheinmal neu geschrieben, aber ins 3 dimensionale erweitert...
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...
Wie ist das 2. Beispiel zu verstehen soll ich jetzt eine neue klasse anfangen und statt den Abgabekonventionen üblichen namen der Klasse also Bsp2_XXXXXXXX_2 einfach Vektor2D hinschreiben?
naja du kannst in einer klasse mehrere class auch unterbringen. klingt ein bisschen komisch^^
aber einfach:
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author
*/
class 1{...}
class2{...}
public class Beispiel {
public static void main (String[] args)
{...}
}\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...
Hallo, hab mal das zweite Beispiel soweit fertig gemacht, hoffentlich hilft es ein bisschen weiter... PS: kann mir vielleicht jemand sagen, ob das Programm so stimmt, oder ob es noch verbesserungswürdig ist? Funktionieren tut es, aber ob es allen Angaben in der HÜ entspricht, weiß ich nicht ganz.
import java.util.Scanner;
public class Vektor2D_1025147_2 {
public static double Berechnung_Laenge(double x, double y){
return Math.sqrt(x*x+y*y);
}
public static double Vektoraddition(double x1,double x2,
double x3){
return x1+x2+x3;
}
static class Vektor2D{
double x;
double y;
}
public static void main(String[] args) {
Vektor2D Vektor1; //Deklaration der Variable Vektor1
Vektor1= new Vektor2D(); //Objekt wird erzeugt
Vektor1.x=1; //Attribute werden erzeugt
Vektor1.y=1;
Vektor2D Vektor2;
Vektor2= new Vektor2D();
Vektor2.x=1;
Vektor2.y=1;
Vektor2D Vektor3;
Vektor3 = new Vektor2D();
Vektor3.x=1;
Vektor3.y=1;
Scanner sc=new Scanner(System.in);
System.out.println("Geben Sie die x Koordinaten des ersten Vektors ein:");
Vektor1.x=sc.nextDouble();
System.out.println("Geben Sie die y Kooridnate des ersten Vektors ein:");
Vektor1.y=sc.nextDouble();
System.out.println("Geben Sie die x Kooridante des zweiten Vektors ein:");
Vektor2.x=sc.nextDouble();
System.out.println("Geben Sie die y Kooridante des zweiten Vektors ein:");
Vektor2.y=sc.nextDouble();
System.out.println("Geben Sue die x Kooridinate des dritten Vektors ein:");
Vektor3.x=sc.nextDouble();
System.out.println("Geben Sie die y Kooridnate des dritten Vektors ein:");
Vektor3.y=sc.nextDouble();
System.out.println("Was wollen Sie berechnen?");
System.out.println("einzelne Längen der Vektoren - 1");
System.out.println("Vektoraddition - 2");
System.out.println("Gesamtlänge der Vektoren - 3");
int Eingabe=sc.nextInt();
switch(Eingabe){
case 1:
System.out.println("Länge Vektor 1: "+Berechnung_Laenge(Vektor1.x, Vektor1.y));
System.out.println("Länge Vektor 2: "+Berechnung_Laenge(Vektor2.x, Vektor2.y));
System.out.println("Länge Vektor 3: "+Berechnung_Laenge(Vektor3.x, Vektor3.y));
break;
case 2:
System.out.println("Die Summe der Vektoren lautet: "+
Vektoraddition(Vektor1.x, Vektor2.x, Vektor3.x)+"|"+
Vektoraddition(Vektor1.y, Vektor2.y, Vektor3.y));
break;
case 3:
System.out.println("Die Gesamtlänge der Vektoren beträgt:"
+(Berechnung_Laenge(Vektor1.x, Vektor1.y)+
Berechnung_Laenge(Vektor2.x, Vektor2.y)+
Berechnung_Laenge(Vektor3.x, Vektor3.y)) );
break;
default:
System.out.println("Ihre Eingabe wurde nicht erkannt.");
}
}
}
\n~~~
Also dein Code funktioniert ja, aber meiner meinung nach ist er zu spezifisch programmiert Und lt angabe sollen wir bei der Vektoraddition ein zusätzliches Objekt programmieren.. UNd deine switch case ist unnötig brauchen wir nicht ;)
Ja, damit ist die Eingabe über die Console gemeint.
Wenn ich das Dritte Beispiel richtig verstanden habe sollte es so ausschauen:
public class Vektor3Dcomparable extends Vektor3D implements Comparable<Vektor3Dcomparable> {
public Vektor3Dcomparable (int x1, int y1, int z1){
super(x1,y1,z1);
}
public int compareTo(Vektor3Dcomparable a){
if(a.laenge()==this.laenge()){
return 0;
}
if(a.laenge() < this.laenge()){
return 1;
}
if(a.laenge() > this.laenge()){
return -1;
}
return 0;
}
}
public class liste{
ArrayList<Vektor3Dcomparable> list1 = new ArrayList<Vektor3Dcomparable>();
list1.add(new Vektor3Dcomparable(x,y,z));
list1.add(new Vektor3Dcomparable(x,y,z));
list1.add(new Vektor3Dcomparable(x,y,z));
for(Vektor3Dcomparable elem :list1){
System.out.println(elem.laenge());
}
Collections.sort(list1);
System.out.println('\n'+"sortierte Liste:");
for(Vektor3Dcomparable elem :list1){
System.out.println(elem.laenge());
}
}
\n~~~
Wurde noch nicht getestet da mein Vektor2D und daher Vektor3D noch nicht ganz funktionstüchtig sind :P
Lg Linus
Wolfgang @WolfgangMaierhofer
Wirtschaftsingenieur... · Technische Universit...
Damit ist gemeint, dass man float Variablen nehmen soll.