Dreieck Kreis

lwqyt

Mitglied
Hey ich bin's mal wieder, habe die Aufgabe das ich 2 klassen und 1ne Hauptklasse erstellen soll, 1ne Klasse für umfang und fläche eines Dreiecks und eine für das gleiche mit nem Kreis, dies soll natürlich in ner methode stehen. Ich habe immo nur probleme mit dem hauptprogramm da wir neu mit der OOP angefangen haben.

Java:
import java.io.*;
public class Dreieck2 
{
	public double seiteA;
	public double seiteB;
	public double seiteC;
	
	public static void main (String args[])
	throws IOException
		{
			BufferedReader input=new BufferedReader (new InputStreamReader(System.in));
			
		
			double a,b,c;
			String sa,sb,sc;
			
			System.out.println ("Seite A ?");
			sa=input.readLine();
			a = Integer.parseInt(sa);
			
			System.out.println ("Seite B ?");
			sb=input.readLine();
			b = Integer.parseInt(sb);
			
			System.out.println ("Seite C ?");
			sc=input.readLine();
			c = Integer.parseInt(sc);
			
			

		}
			public static void showumfang (double a, double b, double c)
			{
				double erg=0;
				erg=a+b+c;
				System.out.println("Der Umfang von den Seiten "+a+ +b+ +c+"ist"+erg);
			}
			
			public static void showflaeche (double a, double b, double c)
			{
				double A=0;
				double s=0;
				s=(a+b+c)/2;
				A = Math.sqrt(s*(s-a)*(s-b)*(s-c));
				System.out.println("Die Fläche von den Seiten "+a+ +b+ +c+"mit der Seite s"+s+"ist"+A);
			}
		
}

Java:
import java.io.*;
public class Kreis2
{
	public double radius;
	
	public static void main (String args[])
	throws IOException
		{
			BufferedReader input=new BufferedReader (new InputStreamReader(System.in));
			
		
			double r;
			String sr;
			
			System.out.println ("Der Radius ?");
			sr=input.readLine();
			r = Integer.parseInt(sr);
			
			
		}
			public static void showumfang (double r)
			{
				double U=0;
				U=2 * Math.PI * r;
				System.out.println("Der Umfang des Kreises mit dem Radius"+r+"beträgt"+U);
			}
			
			public static void showflaeche (double r)
			{
				double A=0;
				A=Math.PI * r * r;
				System.out.println("Die Flaeche des Kreises mit dem Radius"+r+"beträgt"+A);
			}
		
}

mein Anfang zur hauptklasse
Java:
public class Haupt2
{
	public static void main(String args[])
	{
		Dreieck2 b1, b2, b3;
		Kreis2			 r1;			//Referenz erzeugen
		b1 = new Dreieck2 ();
		b2 = new Dreieck2 ();
		b3 = new Dreieck2 ();
		r1 = new Kreis2	  ();
		
		b1.seiteA = ;
		b2.seiteB = ;
		b3.seiteC = ;
		r1.radius = ;

		

	}
}

wäre nett wenn mir mal wieder einer helfen würde :D

mfg. Jojo
 
Zuletzt bearbeitet von einem Moderator:
M

Marcinek

Gast
Also ich habe mir die KLassen nicht im Detail angeschaut. Aber ich meine Code gesehen zu haben, der Flächen berechnet.

Um das Objektorjentiert richtig zu machen, brauchst du zunächst eine Klasse oder Interface "Figur".

Davon abgeleitet, implementiert "Kreis" und/oder "Dreieck".

Nun musst du im Interface entsprechende Methoden zur Berechnung der Fläche vorgeben, die die beiden Anderen implementieren.

Fertig

Gruß,

Martin
 

lwqyt

Mitglied
das was du meinst habe ich, habe eig nur probleme bei der hauptklassee bei OOP muss man ja nur die beiden klassen mit zb. der methode im gleichen projekt haben wie die hauptklasse und die dann in der hauptklasse aufrufen
 
M

Marcinek

Gast
Keine Ahnung was du meinst.

Fakt ist: Beim OOP ist genau so wie bei prozeduralen Programmieren.

Fakt ist: Die Klassen oben in deinem Posting entsprechen nicht den vorgaben, wie ich sie genannt habe.
 

tschero

Aktives Mitglied
Hi,

mache es Dir ERSTMAL so einfach wie möglich (wobei Marcinek natürlich völlig Recht hatte).

Mache Dir je eine Klasse Kreis und eine Klasse Dreieck mit den entsprechenden Berechnungen.
Dazu nimm überall die Methode
Java:
public static void main (String args[])
raus (eine main Klasse brauchst Du nur einmal).

Mache Dir eine Hauptklasse, DORT packst Du die
Java:
public static void main (String args[])
rein und erzeugst darin die benötigten Objekte von Kreis und Dreieck.

Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package zumtesten;

/**
 *
 * @author
 */
public class Kreis
{
    //Konstruktor
    public Kreis()
    {

    }

}

Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package zumtesten;

/**
 *
 * @author
 */
public class Dreieck
{
    //Kontstruktor
    public Dreieck()
    {

    }

}

Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package zumtesten;

/**
 *
 * @author
 */
public class ZumTesten
{
    public static Kreis myKreis;
    public static Dreieck myDreieck;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        myKreis = new Kreis();
        myDreieck = new Dreieck();
    }
}

...über Sachen wie public static usw. muss Du natürlich noch nachdenken.
Ich hoffe ich konnte Dein Problem treffen.

Gruß
tschero
 
Zuletzt bearbeitet:

lwqyt

Mitglied
Ja danke habs jetz so gemacht und klappt super.
Java:
public class Dreieck2 
{
	public double seiteA;
	public double seiteB;
	public double seiteC;
	
	
			public static void showumfang (double a, double b, double c)
			{
				double erg=0;
				erg=a+b+c;
				System.out.println("Der Umfang von den Seiten A "+a+", B "+b+", C " +c+" ist "+erg);
			}
			
			public static void showflaeche (double a, double b, double c)
			{
				double A=0;
				double s=0;
				s=(a+b+c)/2;
				A = Math.sqrt(s*(s-a)*(s-b)*(s-c));
				System.out.println("Die Fläche von den Seiten A "+a+", B " +b+", C " +c+" mit der Seite S "+s+" ist "+A);
			}
		
}
Java:
public class Kreis2
{
	public double radius;
	
		
			public static void showumfang (double r)
			{
				double U=0;
				U=2 * Math.PI * r;
				System.out.println("Der Umfang des Kreises mit dem Radius "+r+" beträgt "+U);
			}
			
			public static void showflaeche (double r)
			{
				double A=0;
				A=Math.PI * r * r;
				System.out.println("Die Flaeche des Kreises mit dem Radius "+r+" beträgt "+A);
			}
		
}

Java:
import java.io.*;
public class Haupt2 {

	public static void main(String args [])
			throws IOException
			  {	  
			  BufferedReader input=new BufferedReader (new InputStreamReader(System.in));
			  
			  double a,b,c,r;
			  
			  System.out.println("Dreieck");
			  System.out.println("Geben sie die Seite a ein: ");
			  a = Double.parseDouble(input.readLine());
			  System.out.println("Geben sie die Seite b ein: ");
		      b = Double.parseDouble(input.readLine());
			  System.out.println("Geben sie die Seite c ein: ");
			  c = Double.parseDouble(input.readLine());
			  System.out.println("Kreis");
			  System.out.println("Wenn kein Kreis dann r=0 ");
			  System.out.println("Radius des Kreises: ");
			  r = Double.parseDouble(input.readLine());
			  

			  Dreieck2 s1;
			  Kreis2 r1;
			  r1 = new Kreis2();
			  s1 = new Dreieck2();

			  s1.seiteA=a;
			  s1.seiteB=b;
			  s1.seiteC=c;
			  r1.radius=r;



	System.out.println("");
	System.out.println("DREIECK");
	s1.showumfang(s1.seiteA,s1.seiteB,s1.seiteC);
	
	s1.showflaeche(s1.seiteA,s1.seiteB,s1.seiteC);
	if(r>0)
		{
		System.out.println("Kreis");
		r1.showumfang(r1.radius);
	
		r1.showflaeche(r1.radius);
		}
	else
		{
	
		}
	}

		

}
 
M

Marcinek

Gast
Die Aufgabe vielleicht.

Die Lösung nicht.

Wenn du diese so abgibst bekommst du höchstens einen Trostpunkt.

--
Du rufst statische Methoden an einem Objekt auf.

Du schreibst einfach die Werte in die Membervariablen, ohne dass diese genutzt werden.

Kreis und Dreieck haben nix gemeinsam, außer dass sie falsch implementiert sind.

Diese sollten im Sinne einer korrekten OOP von einer Klasse oder einem Interface "Figur" erben.

Dann sollte man sowas machen können:

Figur neueFigur = new Kreis(5.0);

Dann soll die Figur ihren Umfang und Fläche mitteilen.

Vielleicht ja beim nächsten Versuch.
 
Zuletzt bearbeitet von einem Moderator:

Daassan

Mitglied
du solltest dir vllt doch nochmal die bedeutung von
Java:
static
anschauen

und viel mit oop hat es wirklich nicht zu tun

das sieht aus wie der versuch mit deinem C-kentnissen OOP zu erzwingen ^^
du erstellst ein leeres strukt
und dann füllst es im nachhinein
fehlt eigentlich nur noch das mallec() irgendwo :D

du könntest zb erstmal die Attribute privat machen das nich jeder die verhunebibeln kann
dazu gehören dann aber getter/setter um sie auszulesen
und ein netten konstruktor um sie bei der erstellung auch gleich zu füllen.

die static sachen sollten weg die sind für klassen funktionen
da deine aber auf bestimmte attribute zugreifen is das fehl am platze

und ein schickes interface wie es der marcinek meinte wäre sozusagen die saubere lösung letztlich sehe es so aus

Java:
public interface GeoFiguren
{
    public double showUmfang();
    public double showFlaeche();
}

Java:
public class Kreis implements GeoFiguren
{
    private double r;
    
    public Kreis(double radius)
    {
         r = radius;
    }

    public double showUmfang()
    {
        double erg = 0;
        //blabvla berechnung
        return erg;
    }
    
     public double showFlaeche()
     {
        double erg = 0;
        //blabvla berechnung
        return erg;
     }
}

(dreieck analog zu kreis)

Java:
public class haupt 
{
    public static void main(String[] args)
    {
        //werte abfragen
        
        GeoFigur myGeoFigur = new Kreis(inputR);
        sysout("umfang kreis:" + myGeoFigur .showUmfang() + "\nFläche Kreis:" + myGeoFigur.showflaeche());

        GeoFigur myGeoFigur = new Dreieck(inputA, inputB, inputC);
        sysout("umfang Dreieck:" + myGeoFigur.showUmfang() + "\nFläche Dreieck:" + myGeoFigur.showflaeche());
    }
}

das wäre zb ne saubere lösung
mit allen vorzügen der oop ausgestattet ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
_so_far_away_ pascalsches Dreieck Zentrierung. Java Basics - Anfänger-Themen 12
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
G Magisches Dreieck Java Basics - Anfänger-Themen 2
F Pascalsches Dreieck mit Rückgabewert Java Basics - Anfänger-Themen 2
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
S Überprüfung rechtwinkliges Dreieck Java Basics - Anfänger-Themen 4
Z Warum kein Dreieck aus Sternen? Java Basics - Anfänger-Themen 9
L Dreieck Java Basics - Anfänger-Themen 22
O Erste Schritte Pascalsche Dreieck Java Basics - Anfänger-Themen 3
H Stern Dreieck (Buch: Grundkurs Programmieren) Java Basics - Anfänger-Themen 2
L Pascalsches Dreieck Java Basics - Anfänger-Themen 4
D Pascal'sches Dreieck Java Basics - Anfänger-Themen 6
N Methoden Gleichseitiges Dreieck erstellen Java Basics - Anfänger-Themen 8
U Dreieck Java Basics - Anfänger-Themen 22
E Dreieck zeichnen Java Basics - Anfänger-Themen 3
1 2D-Array, dass das pascalsche Dreieck berechnet Java Basics - Anfänger-Themen 2
B Dreieck Flächenberechnung Java Basics - Anfänger-Themen 2
B Java Grafikprogrammierung Dreieck Java Basics - Anfänger-Themen 6
I Umgedrehtes Dreieck Java Basics - Anfänger-Themen 3
M Dreieck erstellen Java Basics - Anfänger-Themen 17
J Dreieck Ausgeben Java Basics - Anfänger-Themen 3
R Pascalsche Dreieck Java Basics - Anfänger-Themen 4
R Pascalsche Dreieck Java Basics - Anfänger-Themen 8
C Pascalsches Dreieck: Ausgabeproblem Java Basics - Anfänger-Themen 10
K pascalsches Dreieck Java Basics - Anfänger-Themen 8
H Compiler-Fehler Pascalsche Dreieck Java Basics - Anfänger-Themen 2
M Pascalsches Dreieck Java Basics - Anfänger-Themen 12
M Dreieck prüfen Java Basics - Anfänger-Themen 8
W Pascalsches Dreieck Java Basics - Anfänger-Themen 19
E Pascalsche Dreieck aus Java openbook Java Basics - Anfänger-Themen 3
B Bitte um Hilfe es geht um Array + Punkte wie Dreieck,Fläche etc. Java Basics - Anfänger-Themen 12
D Pascalsches Dreieck Java Basics - Anfänger-Themen 9
H Dreieck aus Zeichen Java Basics - Anfänger-Themen 4
L Paskalsche Dreieck im Array Java Basics - Anfänger-Themen 2
T Pascalsche Dreieck ERKLÄRUNG Java Basics - Anfänger-Themen 6
U Rekursive lösung von pascal dreieck Java Basics - Anfänger-Themen 11
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
Antoras Dreieck zeichnen Java Basics - Anfänger-Themen 2
A Problem Gleichseitiges Dreieck aus Sternchen Java Basics - Anfänger-Themen 7
G Pascalsche Dreieck in Dreieckform Java Basics - Anfänger-Themen 2
X Pascalsche Dreieck Java Basics - Anfänger-Themen 6
G Dreieck mit Java Apllet Java Basics - Anfänger-Themen 10
V Dreieck spiegeln Java Basics - Anfänger-Themen 3
L Dreieck soll Farbe ändern Java Basics - Anfänger-Themen 4
L Dreieck füllen Java Basics - Anfänger-Themen 4
X Dreieck ausgeben Java Basics - Anfänger-Themen 3
B Hindergrundfarbe in JPanel und Dreieck zeichnen Java Basics - Anfänger-Themen 4
D Das Problem mit dem Dreieck. Java Basics - Anfänger-Themen 5
B auf der Spitze stehendes Dreieck mit for-Schleifen Java Basics - Anfänger-Themen 6
lan2711 Anfänger: Konstruktion Dreieck Java Basics - Anfänger-Themen 2
G Pascalsches Dreieck Java Basics - Anfänger-Themen 8
YAZZ BlueJ Bewegung einer Figur im Kreis Java Basics - Anfänger-Themen 4
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
N Kreismuster auf Bestehendem Kreis erstellen Java Basics - Anfänger-Themen 10
E Kreis soll eine Raupe darstellen Java Basics - Anfänger-Themen 37
C Kleinsten Kreis einer Punktmenge bestimmen Java Basics - Anfänger-Themen 4
CptK Interface Kleine Kreise in großem Kreis anordnen Java Basics - Anfänger-Themen 3
Y Kreis auf einer Kreisbahn bewegen Java Basics - Anfänger-Themen 5
P Erste Schritte Kreis animieren Java Basics - Anfänger-Themen 2
A Kreisumfang/-Fläche vom Kreis berechnen Java Basics - Anfänger-Themen 39
H Kreis verschieben Java Basics - Anfänger-Themen 10
Z Object Kreis am Frame abprallen lassen! Java Basics - Anfänger-Themen 12
X Kreis/Linie Programmieren Java Basics - Anfänger-Themen 1
D Algorithmus für Punkte auf einem Kreis Java Basics - Anfänger-Themen 0
A Kreis,Radius Programm Java Basics - Anfänger-Themen 3
N Per Button Kreis zeichnen Java Basics - Anfänger-Themen 8
C Kreis nach Mausklick zeichnen Java Basics - Anfänger-Themen 5
A wie Kreis mit Schleife versetzten? Java Basics - Anfänger-Themen 25
O Punkte auf einem Kreis "wandern" lassen Java Basics - Anfänger-Themen 3
U Kreis um Textfelder zeichnen Java Basics - Anfänger-Themen 4
D Kreis mit Pfeiltaste bewegen Java Basics - Anfänger-Themen 3
K Bild auf Kreis packen Java Basics - Anfänger-Themen 2
E Kreis erstellen Java Basics - Anfänger-Themen 10
B Einen Kreis erzeugen Java Basics - Anfänger-Themen 3
S Erzeuge einen Kreis Java Basics - Anfänger-Themen 16
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
D Punktberechnung im Kreis Java Basics - Anfänger-Themen 15
TheKing Bild nur in Kreis sichtbar machen Java Basics - Anfänger-Themen 6
K Kreis mit neuer Position zeichnen Java Basics - Anfänger-Themen 3
M Umfang von Rechteck oder Kreis anhand der Parameter Java Basics - Anfänger-Themen 2
L Klickbarer Bereich in einem Kreis Java Basics - Anfänger-Themen 13
D kreis gelb gefüllt aber schwarzer rand. Java Basics - Anfänger-Themen 2
K Kreis Zeichnen ? Code Richtig aber keine Zeichung Java Basics - Anfänger-Themen 8
L Kreis der sich bewegt Java Basics - Anfänger-Themen 11
G Kreis auf JComponent zeichnen Java Basics - Anfänger-Themen 8
0 Klasse Kreis Java Basics - Anfänger-Themen 4
P Java-Applet, Kreis zeichnen Java Basics - Anfänger-Themen 4
E Kreis in Frame ,den man mit der Maus versetzen kann? Java Basics - Anfänger-Themen 2
7 Kreis zeichnen Java Basics - Anfänger-Themen 4
J Kreis herumfliegen & abprallen von Rändern Java Basics - Anfänger-Themen 7
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6
A Kreis mit gedrückter Maustaste bewegen. Java Basics - Anfänger-Themen 2
S Thread - Kugel im Kreis hin-und herflitzen lassen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben