math und abs()

  • Themenstarter Themenstarter Destiny1985
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
D

Destiny1985

Gast
Eine Übungsaufgabe lautet wie folgt:

Code:
Schreiben Sie ein Programm, das zwei Point-Objekte (pt1 mit den x- und 
y-Werten 10, 10 und pt2 mit den x- und y-Werten 30, 30) erzeugt.

Die Point-Objekte reräsentieren die Eckpunkte eines Rechtecks. 
Berechnen Sie die Fläche dieses Rechtecks. Verwenden Sie zum Ermitteln der 
Breite und Höhe die Klassenmethode abs() der Klasse Math.

Die Ausgabe des Programms sieht folgendermaßen aus.

Die Flaeche betraegt: 400

Ich hab nach der Methode abs() in der API geschaut und sie so eingebaut, wie ich mir denke das es stimmt...allerdings kann das nicht so doll sein, es geht nämlich nicht 😉 Der bisherige Code:

Code:
import java.awt.*;
import java.math.*;

class PointFlaeche
{
  public static void main(String[] args)
  {
    Point pt1 = new Point(10, 10);
    Point pt2 = new Point(30, 30);
    
    int breite = pt1.abs(pt2);
  }
}

Der Fehler lautet

Code:
Cannot resolve Symbol
method abs (java.awt.point)
....bla....

An sich verstehe ich den Fehler, er sucht die Methode abs() im Package Point und findet es da natürlich nicht...wie mache ich es, das es funktioniert ?

mfg
 
Hm eigentlich ist das ganze

Code:
int breite = pt1.abs(pt2);

falsch...kann doch so gar net gehen das ich da was richtiges rausbekomm.... :/
 
Wie in der Aufgabe schon steht: abs() ist eine Klassenmethode der Klasse Math. (und keine Methode der Klasse Point)
 
Ja die habe ich doch auch als import drin...ich verstehe nur nicht wie ich die jetzt korrekt einsetze!
 
Ein Blick in die API verrät:
Code:
public static int abs(int a)
Also: Klassen-Methode = static-Methode in einer Klasse... Du musst einfach nur die statische Methode aufrufen!
 
ich glaub mir isses zu früh -.- bekomm es nicht hin...

wärst du so gut mir den code mal zu schreiben, das ich mir das mal angucken kann ?

dank dir 😉

mfg
 
achso 😉

aber richtig durchsteigen tue ich nicht bei der sache !

wie kann ich das in verbindung mit meinem beiden punkten einsetzen, um die höhe und breite des rechtecks herauszubekommen ??
 
Du könntest den einen X-Wert vom anderen abziehen, dann hast du die gerade a. Das selbe kannst du für b mit dem Y-Wert machen.
Dein Problem ist, dass bei variabler Eingabe später auch negative Werte rauskommen können, weshalb du Math.abs() verwenden solltest 😉

Ich habs hier in 5 Zeilen 😉

Mfg, Matflasch
 
Aber wie geht das mit Math.abs() in Verbindung mit den 2 Point-Objekten ??
 
Dürfen wir das Ergebnis sehen? 😀
(hilft evtl. einigen, die später das Forum durchsuchen oder so)

Mfg, Matflasch
 
Habts ja nicht anders gewollt

Code:
import java.awt.*;
import java.math.*;

class PointFlaeche
{
  public static void main(String[] args)
  {
    Point pt1 = new Point(10, 10);
    Point pt2 = new Point(30, 30);
      
    int breite = Math.abs(pt1.x - pt2.x);
    int hoehe =  Math.abs(pt1.y - pt2.y);
    
    int flaecheninhalt = breite * hoehe;
    
    System.out.println("Der Flaecheninhalt des Rechtecks betraegt: " + flaecheninhalt);
  }
}

Ist eigentlich nix besonderes, kam nur mit dem Math.abs nicht klar 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben