violentviper
Lt. Commander
- Registriert
- Mai 2008
- Beiträge
- 1.778
Hallo,
ich habe zu Übungszwecken ein kleines Java Programm geschrieben, welches die Fläche von einem Dreieck, Kreis und Rechteck ausrechnet.
Nun habe ich bei der Ausgabe , welche über eine generierte toString() Methode erfolgt imm den Hashcode bei dem Formnamen dabei, welchen ich gerne entfernen möchte.
In der Ausgabe erscheint es dann so :
Ich weiß das man Java überlisten kann indem man die toString Methode überschreibt, jedoch habe ich die Anleitungen dazu noch nicht so richtig verstanden. Andere Möglichkeiten, evtl. einfachere sind aber auch gerne gehört
ich habe zu Übungszwecken ein kleines Java Programm geschrieben, welches die Fläche von einem Dreieck, Kreis und Rechteck ausrechnet.
Nun habe ich bei der Ausgabe , welche über eine generierte toString() Methode erfolgt imm den Hashcode bei dem Formnamen dabei, welchen ich gerne entfernen möchte.
In der Ausgabe erscheint es dann so :
Code:
Triangle@7d4991ad Area: 3,000 m²
Circle@28d93b30 Area: 7,025 m²
Rectangle@1b6d3586 Area: 15,000 m²
Ich weiß das man Java überlisten kann indem man die toString Methode überschreibt, jedoch habe ich die Anleitungen dazu noch nicht so richtig verstanden. Andere Möglichkeiten, evtl. einfachere sind aber auch gerne gehört

Code:
import java.text.*;
public class ShapeT{
public static void main(String args[]){
DecimalFormat f = new DecimalFormat("#0.000");
Shape s[] = new Shape[3];
s[0] = new Triangle(3, 2);
s[1] = new Circle(5);;
s[2] = new Rectangle(5,3);
for(Shape shape:s){
System.out.println(shape.toString()+" Area: "+f.format(shape.getArea())+" m²");
}
}
@Override
public String toString() {
return "Triangle";
}
}
Code:
abstract class Shape {
abstract double getArea();
}
class Rectangle extends Shape{
double h, w;
public Rectangle(double h, double w){
this.h = h;
this.w = w;
}
public double getArea(){
return h*w;
}
}
class Circle extends Shape{
double radius;
public Circle(double radius){
this.radius = radius;
}
public double getArea(){
return Math.PI * Math.sqrt(radius);
}
}
class Triangle extends Shape{
double b, h;
public Triangle(double b, double h){
this.b = b;
this.h = h;
}
public double getArea(){
return (b*h)/2;
}
}