Vektoren

truchn3000

Mitglied
Ich brauche wieder eure Hilfe.Bin Anfänger

Schreiben Sie eine Klasse Vektor mit einem Konstruktor

public Vektor(double xKoordinate , double yKoordinate ).

Weiters soll diese Klasse u ̈ber die Methoden
public double gibxK () ,
public double gibyK ()

verfu ̈gen, die die x- bzw. y-Koordinate eines Vektor-Objektes zuru ̈ckgeben.

Schreiben Sie eine weitere Methode

public boolean istLaengerAls(Vektor v2),

die fu ̈r einen Vektor v1 true zuru ̈ckgibt, falls v1 l ̈anger als v2 ist und false, wenn |v2| ≥ |v1|.

Zur Berechnung der L ̈ange eines Vektors ko ̈nnen Sie die Methoden

Math.pow(double a, double b)

und

Math.sqrt(double a)

verwenden. Lesen Sie dazu die Beschreibungen in der Klasse Math.

Ich hab das so geschrieben, hab aber Fehler:

Code:
public class Vektor
{
    
    Vector v1 = new Vector();
    Vector v2 = new Vector();
     int v1;
     int v2;
    double  x;
    double y;
    double a;
    double b;
    double xKoordinate;
    double yKoordinate;
public Vektor(double xKoordinate , double yKoordinate ){
x=xKoordinate;
y=yKoordinate;

}

public double gibxK (){
xKoordinate=x;
}

public double gibyK(){
    yKoordinate=y;
    
}

public boolean istLaengerAls(Vektor v2){

if(v1>v2)
v1=true;
}
else
{
v1=false;
}
Math.pow (double a,double b){

}

}

Kann mir wer helfen? Ich hab da auch Fehler bei Math.pow <identifier expected>
 

L0oNY

Bekanntes Mitglied
schon die Grundlagen angeschaut, wie dir im anderen Thread empfohlen wurde?

schon dein Compiler schmeißt Fehler, mal nachgedacht, was das Problem sein könnte?
 

M.L.

Top Contributor
Als Motivation: so könnte die Längenberechung funktionieren
Code:
public static void main(String[] args) {
        int x=3;  //statt a
        int y=5;  //statt b
        System.out.println("Länge des Vektors:" + Math.sqrt(Math.pow(x,2)+Math.pow(y,2)));
 
X

Xyz1

Gast
@M.L. Noch als Anreiz, Math.pow(x,2) kann minimiert werden zu x*x und Math.sqrt() kann weggelassen werden denn es geht hier um den Vergleich zweier Längen:
Java:
public boolean istLaengerAls(Vektor v1, Vektor v2){
return v1.x*v1.x + v1.y*v1.y >= v2.x*v2.x + v2.y*v2.y; // or just '>'
}


@truchn3000 Code immer in diese Java Code-Tags tun.
 

L0oNY

Bekanntes Mitglied
@M.L. Noch als Anreiz, Math.pow(x,2) kann minimiert werden zu x*x und Math.sqrt() kann weggelassen werden denn es geht hier um den Vergleich zweier Längen:
Java:
public boolean istLaengerAls(Vektor v1, Vektor v2){
return v1.x*v1.x + v1.y*v1.y >= v2.x*v2.x + v2.y*v2.y; // or just '>'
}


@truchn3000 Code immer in diese Java Code-Tags tun.
da ist der Code von M.L. doch deutlich einfacher und übersichtlicher, als dein buchstabensalat
 

L0oNY

Bekanntes Mitglied
Man würde es so aber nicht programmieren, zudem ist er langsamer.

Mein Tipp für Dich: Besser verteidige schlechte Lösungen nicht. Das war bei k. teilweise auch so. Es zeugt nicht von Kritikeinsicht.
Doch, genauso würde ich es programmieren
und das "langsamer" argument ist für mich kein Argument, da es alles sehr theoretisch ist. Es ist vielleicht für irgendwelche Algorithmen rein mathematisch langsamer (wenn überhaupt) aber es geht bestimmt um Nanosekunden. Und wenn du das in deiner Anwendung nicht zufällig bei jedem Klick eine Milliarde mal ausführst, wird der Endbenutzer von deiner "schnellen" Lösung gar nichts mitbekommen.
Und wer ist k.?
 

M.L.

Top Contributor
einfacher und übersichtlicher
Das war aber eine "Quick'n'Dirty"-Lösung, die auf den restlichen Formalismus (z.B. Einsatz eines Konstruktors) verzichtet hat. Tatsächlicherweise könnte (müsste/sollte...) man wie in "Das Java Codebook" (Kap.23 Vektoren) von 2005 vorgehen (ohne z-Komponente): 1249912500
Aber welche Lösung gefragt ist, kann nur der Fragesteller beantworten...
 

httpdigest

Top Contributor
Wenn man Vektoren hat, hat man üblicherweise auch das Skalarprodukt (dot product) als Operation. Da ist dann der Längenvergleich noch einfacher:
Java:
public double dot(Vektor v) {
  return x*v.x + y*v.y;
}
public boolean istLaengerAls(Vektor v){
  return dot(this) > v.dot(v);
}
da ist der Code von M.L. doch deutlich einfacher und übersichtlicher, als dein buchstabensalat
Mit dem Unterschied, dass der Code von M.L. überhaupt nicht dasselbe macht wie der von @Tobias-nrw (Längenvergleich).
 
X

Xyz1

Gast
Danke Euch beiden. Das sollte auch gar nicht sich unfreundlich anhören.

Noch ne Bemerkung: Dasselbe gilt auch für den R3. (So hat es @M.L. ja auch gezeigt....)

@truchn3000 Viele Anregungen jetzt bekommen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Vektoren Add gibt nicht das aus was es sollte Java Basics - Anfänger-Themen 3
J Vektoren (2-dimensional) Java Basics - Anfänger-Themen 2
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
D Vektoren Initialisieren Java Basics - Anfänger-Themen 1
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
S OOP Werte von Vektoren mit 3 Variablen ausgeben lassen Java Basics - Anfänger-Themen 3
M n-dim Vektoren mit Arrays Java Basics - Anfänger-Themen 3
C Inhalte zweier Vektoren vergleichen Java Basics - Anfänger-Themen 3
J Wie erstelle ich Vektoren? Java Basics - Anfänger-Themen 5
N Matrix/Vektoren Java Basics - Anfänger-Themen 3
N Vektoren, Methode Java Basics - Anfänger-Themen 10
S 3D Cube aus Vektoren Java Basics - Anfänger-Themen 20
G Vektoren speichern Java Basics - Anfänger-Themen 3
N Vektoren multiplizieren Java Basics - Anfänger-Themen 8
N Ausgabe von Vektoren Java Basics - Anfänger-Themen 3
L Suche Hilfe , Problem mit Vektoren und klassen Java Basics - Anfänger-Themen 21
R Vektoren Java Basics - Anfänger-Themen 6
S Vektoren und Objektwerte Java Basics - Anfänger-Themen 4
V Vektoren zur Laufzeit erzeugen Java Basics - Anfänger-Themen 7
J Durchlaufen von Vektoren Java Basics - Anfänger-Themen 14
F Ein Array von Vektoren, Eclipse meckert Java Basics - Anfänger-Themen 12
M Prinzipielle Frage zu Vektoren Java Basics - Anfänger-Themen 2
H Vektoren aus einem String! Java Basics - Anfänger-Themen 2
F Welche Datenstruktur für Matrix mit Vektoren? Java Basics - Anfänger-Themen 2
W Verwalten von Objekten - Listen, Vektoren usw. Java Basics - Anfänger-Themen 6
M Zwei ineinanderverschachtelte Vektoren - generics möglich? Java Basics - Anfänger-Themen 3
W Addition von Arrays bzw. Vektoren Java Basics - Anfänger-Themen 2
F Vektoren Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben