Hallo, ich stehe vor einen Problem, ich weiß nicht wie ich es Lösen kann.
Ich habe ein Projekt mit 3 Klassen. Eine Klasse Rechteck, die mir den Umfang und den Flächeninhalt Berechnet. Dann möchte ich eine KLasse Zeichnen haben, die mir dieses Rechteck Zeichnet. Und eine Klasse Main. Ich stehe vor dem Problem, das ich nicht weiß wie ich aus Main heraud die Klasse zeichnen aufrufe und er mir das Zeichnet. Ich weiß nicht wie ich ihm das Object Graphics übergeben soll, kann mir einer herlen?? Ich gebe euch mal meien Klassen.
Nun kommt die KLasse Rechteck
Danke für eure Hilfe
Ich habe ein Projekt mit 3 Klassen. Eine Klasse Rechteck, die mir den Umfang und den Flächeninhalt Berechnet. Dann möchte ich eine KLasse Zeichnen haben, die mir dieses Rechteck Zeichnet. Und eine Klasse Main. Ich stehe vor dem Problem, das ich nicht weiß wie ich aus Main heraud die Klasse zeichnen aufrufe und er mir das Zeichnet. Ich weiß nicht wie ich ihm das Object Graphics übergeben soll, kann mir einer herlen?? Ich gebe euch mal meien Klassen.
Code:
//Dies ist meien Hauptklasse
package Klassenuebung;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Hauptklasse {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Automatisch erstellter Methoden-Stub
Rechteck r1 = new Rechteck(0, 0);
Rechteck r2 = new Rechteck(0, 0);
r1.setze_seitea(einlesen("a"));
r1.setze_seiteb(einlesen("b"));
System.out.println("Herzlich Wilkommen in meinem Rechteckprogramm");
System.out
.println("Rechteck Seitea Seiteb Flächeninhalt Umfang");
System.out.println("1 " + " " + r1.nehme_a() + " "
+ r1.nehme_b() + " " + r1.Fi() + " "
+ r1.Uf());
System.out.println("2 " + " " + r2.nehme_a() + " "
+ r2.nehme_b() + " " + r2.Fi() + " "
+ r2.Uf());
}
/*
* Diese Methode liest die werte ein und gibt sie zurück
*/
public static double einlesen(String seite) throws IOException {
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
double wert = 0;
System.out.println("Bitte geben Sie den Wert fuer " + seite + " ein:");
try {
wert = Double.parseDouble(din.readLine());
} catch (NumberFormatException e) {
System.out.println("Bitte nur Zahlen eingeben:");
}
return (wert);
}
}
Nun kommt die KLasse Rechteck
Code:
//KLasse Rechteck
package Klassenuebung;
public class Rechteck {
private double a; //Seite a
private double b;//Seite b
private double Flaecheninhalt; //Flächeninhalt
private double Umfang; //Umfang
/*Dieser Standartkonstruktor sorgt dafür,
* dass immer Werte für a und b vorhanden sind.
*/
public Rechteck(double werta, double wertb)
{
this.a=werta;
this.b=wertb;
}
//Die Setters*****************************************************************************************
/*
* Datenkapselung setzen der Setzen der Seite b
*/
public void setze_seitea(double wert)
{
this.a=wert;
}
/*
* Datenkapselung setzten der Seite b
*/
public void setze_seiteb(double wert)
{
this.b=wert;
}
//Die Getters*****************************************************************************************
/*
*Datenkapselung holen von a
*/
public double nehme_a()
{
return(this.a);
}
/*
* Datenkapselung holen von Seite b
*/
public double nehme_b()
{
return(this.b);
}
//****************************************************************************************************
/*
* Diese Methode berechnet den Flächeninhalt des Rechteckes
*/
public double Fi()
{
this.Flaecheninhalt=this.a*this.b;
return(this.Flaecheninhalt);
}
/*
* Diese Methode berchnet dem Umfang des Rechteck
*/
public double Uf()
{
this.Umfang=2*this.a+2*this.b;
return(this.Umfang);
}
}
Code:
//KLasse Zeichnen
package Klassenuebung;
/**
*
*/
/**
* @author markus
*
*/
public class Zeichnen {
private int a=0;
private int b=0;
public void umrechnen(Rechteck r)
{
this.a =(int) Math.round(r.nehme_a());
this.b =(int) Math.round(r.nehme_b());
}
public int nehme_a()
{
return(this.a);
}
public int nehme_b()
{
return(this.b);
}
}
Danke für eure Hilfe