Probleme mit Geometrie-Aufgabe

Status
Nicht offen für weitere Antworten.

Capone

Mitglied
Hi Leute,

mache jetzt seit einer Woche JAVA in der Schule und habe Folgende Aufgabe bekommen:


Übung

1. Schreiben Sie eine Klasse CKreis. Diese besitzt das Attribut radius und die Methoden getRadius (), umfang () und flaeche ().



Die Benutzung der Klasse könnte so aussehen:

CKreis k = new CKreis(4.0); // Ausgabe:
System.out.println(k.getRadius); // -> 4
System.out.println(k.flaeche()); // -> 50.26544
System.out.println(k.umfang()); // -> 25.13272



2. Sofern Ihre Klasse alle Tests bestanden hat, packen Sie sie in ein Package mit Namen Geometrie und importieren Sie sie dann in Ihr Hauptprogramm.


Ich habs ma versucht und hab volgendes raus bekommen :oops: :

Code:
class CKreis {
	private double m_radius;
	
	CKreis(double radius){
	m_radius = radius;
	}
	
	void getRadius (double Radius){
		radius = Radius;
	}
	
	void umfang (double Umfang){
		Umfang = 2*radius;
	}
}
	
public static void main(String[]args){
	CKreis TEST = new CKreis(4.0);
	System.out.println((TEST.getRadius());
	System.out.println((TEST.umfang());
}
Leider hab ich wirklich keine Ahnung davon.
Für die Lösung und eine Erklärung wäre ich wirklich sehr sehr Dankbar.
:bahnhof:
MfG Nico

edit deathbyaclown: Code tags
 

thE_29

Top Contributor
ajo :)
void = nix
int = integer
float = ....
mit return gibst du dann was zurück ( am ende der funktion)
natürlich muss das was du zurückgibst übereinstimmen mit der deklaration der funktion ;)
du musst schon was retournieren bei denen funktionen :)

Code:
public int getRadius(){
return m_radius; 
}

public int Umfang(){
return 2*m_radius;
}

die fläche musst schon selber machen... lernen musss sein :)
 
R

Roar

Gast
und wo is nun das problem? du hast doch alles irchtig gemacht ( mach die methoden und den konstruktor mal public).
jetz musst du nur noch die methode fläche implementieren
den flächeninhalt bekommst du mit: 2*r*PI ( Math.PI )


und packagenamen werden kleingeschrieben, sag das dienem lehrer ;)

edit: ok doch nich alels richtich gemacht :-/
edit2: jetz erst 2. post von dir les
 

thE_29

Top Contributor
@roar: er hat ne getFunktion die void ist und nix zurückliefert, da ist schon was falsch :)
 
B

bygones

Gast
thE_29 hat gesagt.:
@roar: er hat ne getFunktion die void ist und nix zurückliefert, da ist schon was falsch :)
oder er wollte setRadius schreiben... die methode schaut mehr danach aus...
 

Capone

Mitglied
Danke Erst ma..

Die Funktion sieht jetzt so aus:
----------------------------------------------------------------------------------------------------
class CKreis {
private double m_radius;

CKreis(double radius){
m_radius = radius;
}

public int getRadius(){
return m_radius;
}

public int Umfang(){
return 2*m_radius;
}
}


public static void main(String[]args){
CKreis TEST = new CKreis(4.0);
System.out.println((TEST.getRadius());
System.out.println((TEST.umfang());
}
------------------------------------------------------------------------------------------------------
Jedoch kommt folgender Fehler:
------------------------------------------------------------------------------------------------------
C:\Programieren\Java\Java Test Files\CKreis.java:19: 'class' or 'interface' expected
public static void main(String[]args){
^
1 error

Process completed.


Hat noch jemand einen Rat.
Ich kappier da irgendwie nix :autsch:
 
B

bygones

Gast
1. bitte Code Tag verwenden - nicht grün machen !!
2. mach die Klasse public in ein File namens CKreis.java und schließe die Klammern der Klasse erst nach der main methode.
3. schau in dem Forum "Bücher, Links und Tutorien" (oder so ;) ) nach, da gibt es viele Anfängerbücher
 
B

bygones

Gast
@P3ac3mak3r:
sorry - das Verschieben versteh ich leider nicht... er macht die Aufgabe und hat Probleme dabei - das ist Anfängerbereich...
 

Capone

Mitglied
VIelen Dank! Werd ich mich halt selber um mein zeug kümmern.
Wenn ich keine Ahnung von sowas habe wie soll ich dann bitte ein Präzisen Titel vergeben.
Naja meine Meinung.
 

Capone

Mitglied
Code:
class CKreis {
	private double m_radius;
	
	CKreis(double radius){
	m_radius = radius;
	}
	
	public int getRadius(){
	return m_radius;
	}
	
	public int umfang(){
	return 2*m_radius;
	}
	
	public double Fläche(){
	return 2*r*PI ( Math.PI ); 
	}


	
public static void main(String[]args){
	CKreis TEST = new CKreis(4.0);
	System.out.println((TEST.getRadius());
	System.out.println((TEST.umfang());
	System.out.println((TEST.Fläche());
	}
}


Fehlermeldung:

C:\Dokumente und Einstellungen\Nico\Desktop\Schule\Programieren\Java\Java Test Files\CKreis.java:24: ')' expected
        System.out.println((TEST.getRadius());
                                             ^
C:\Dokumente und Einstellungen\Nico\Desktop\Schule\Programieren\Java\Java Test Files\CKreis.java:25: ')' expected
        System.out.println((TEST.umfang());
                                          ^
C:\Dokumente und Einstellungen\Nico\Desktop\Schule\Programieren\Java\Java Test Files\CKreis.java:26: ')' expected
        System.out.println((TEST.Fläche());
                                          ^
3 errors

Process completed.

Is das nur ein klammerfehler?


Mfg Capone
 

Manfred

Bekanntes Mitglied
Code:
public class CKreis
{
    private double radius;

    public CKreis (double radius)
    {
        this.radius = radius;
    }

    public double getRadius()
    {
        return radius;
    }

    public double getFlaeche()
    {
        return (Math.pow(radius,2) * Math.PI);
    }

    public double getUmfang()
    {
        return (2 * Math.PI * radius);
    }

    public static void main(String[] args)
    { 
           CKreis TEST = new CKreis(4.0); 
           System.out.println(TEST.getRadius()); 
           System.out.println(TEST.getUmfang()); 
           System.out.println(TEST.getFlaeche()); 
    } 
}
 

Capone

Mitglied
Code:
class CKreis {
	private double m_radius;
	
	CKreis(double radius){
	m_radius = radius;
	}
	
	public double getRadius(){
	return m_radius;
	}
	
	public double umfang(){
	return 2*m_radius;
	}
	
	public double Fläche(){
	return 2*m_radius*Math.PI; 
	}


	
public static void main(String[]args){
	CKreis TEST = new CKreis(4.0);
	System.out.println(TEST.getRadius());
	System.out.println(TEST.umfang());
	System.out.println(TEST.Fläche());
	}
}

So gehts auch aber trotzdem vielen Dank für eure Hilfe.
 

Capone

Mitglied
Code:
class CKreis {
	private double m_radius;
	
	CKreis(double radius){
	m_radius = radius;
	}
	
	public double getRadius(){
	return m_radius;
	}
	
	public double Umfang(){
	return (2 * Math.PI * m_radius); 
	}
	
	public double Fläche(){
	return (Math.pow(m_radius,2) * Math.PI);  
	}


	
public static void main(String[]args){
	CKreis TEST = new CKreis(10.0);
	System.out.println("----------------------------------------");
	System.out.println("Der Radius beträgt :"+TEST.getRadius());
	System.out.println("----------------------------------------");
	System.out.println("Der Umfang beträgt :"+TEST.Umfang());
	System.out.println("----------------------------------------");
	System.out.println("Die Fläche beträgt :"+TEST.Fläche());
	System.out.println("----------------------------------------");
	}
}


[b]So werde ichs wohl meinem Lehrer in die Hand drücken.
Nochmals vielen dank für eure schnelle Hilfe!! :lol: [/b]
 

Manfred

Bekanntes Mitglied
Das mit dem Package würde noch fehlen!

Dies deklariert man immer ganz am Anfang der Klasse mittels:

package <name>;

z.B. package CKreis;


und mit
import CKreis;

würde man dann dieses Package in andere Klassen importieren. Man muss nur aufpassen, dass der "Pfad" stimmt, da können dir aber andere sicher besser weiterhelfen
 

Capone

Mitglied
Code:
package CKreis;
class CKreis {
	private double m_radius;
	
	CKreis(double radius){
	m_radius = radius;
	}
	
	public double getRadius(){
	return m_radius;
	}
	
	public double Umfang(){
	return (2 * Math.PI * m_radius); 
	}
	
	public double Fläche(){
	return (Math.pow(m_radius,2) * Math.PI);  
	}


	
public static void main(String[]args){
	CKreis TEST = new CKreis(10.0);
	System.out.println("----------------------------------------");
	System.out.println("Der Radius beträgt :"+TEST.getRadius());
	System.out.println("----------------------------------------");
	System.out.println("Der Umfang beträgt :"+TEST.Umfang());
	System.out.println("----------------------------------------");
	System.out.println("Die Fläche beträgt :"+TEST.Fläche());
	System.out.println("----------------------------------------");
	}
}


Ist das<dann so richtig? Oder muss des mit dem package wo anderst hin, als der compailer bringt mir kein Fehler.

PS.: Wäre net wenn mir einer sagen könnte wie ich das package benutzen kann.

MfG
Capone
 

dark_red

Bekanntes Mitglied
Packages werden in der Regel klein geschrieben. Für dich ists zwar nicht interessant, aber falls du mal eine grosse Blibliothek schreibst, wird die Packagestruktur der URL deiner Lib angeglichen (zB bei deinelib.deinedomain.com währe die Packagestruktur com.deinedomain.deinelib), damit es zu keinen Überlappungen der Namen kommen kann.

Wichtig ist auch, dass die Packagestruktur auf der Festplatte wiedergespiegelt werden muss. Wenn du ein Package kreis hast, muss deine .java Datei im Ordner kreis liegen und der Hauptordner deines Projektes währe dann der Ordner, in dem "kreis" liegt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben