Methoden Kreistabelle

Mrekullia

Mitglied
Hallo Allerseits,
ich muss eine Kreistabelle mit Methoden erstellen. Der Radius soll bei 5 anfangen und dann immer um 5 erhöht werden. Dabei soll der Umfang und die Fläche berechnet werden.
So sieht meine Lösung aus:
Java:
package uebung05;

import javax.swing.JOptionPane;

public class Kreistabelle {

   public static void main(String[] args) {
       double radius;
       String eingabe;
       eingabe = JOptionPane.showInputDialog("Geben Sie den Startradius ein: ");
       radius = Double.parseDouble(eingabe);
       System.out.println("Radius:\t Umfang:\t Flaeche:\t");
       for(int i = 0;i < 30;i++) {
           Kreis k = new Kreis(radius);
           System.out.println(radius + "\t" + k.getUmfang() + "\t" + k.getFlaeche());
           radius += 5;
        }
   }
}
Erste Frage: Kann ich Kreis k = new Kreis(radius); in einer Schleife einfügen, oder sollte man davon absehen? Mir kommt es falsch vor, aber es funktioniert zumindestens :)

Nun kommt die Musterlösung:
Java:
package uebung05;
import javax.swing.JOptionPane;

public class Kreistabellemuster {
    public static void main(String[] args) {
   String kreisradius, erhoehung;
   double r, dr;
   kreisradius = JOptionPane
       .showInputDialog("Geben Sie einen Kreisradius ein:");
   erhoehung = JOptionPane
       .showInputDialog("Geben Sie die Erhöhung ein:");
   r = Double.parseDouble(kreisradius);
   Kreis k = new Kreis(r);
   dr = Double.parseDouble(erhoehung);
   System.out.println("Radius\t\tUmfang\t\t\t\tFläche");
   for (int i = 0; i < 30; i++) {
       k.setRadius(r + i * dr);
       System.out.println(k.getRadius() + "\t\t" + k.getUmfang() + "\t\t"
           + k.getFlaeche());
   }
    }
}
Jetzt komme ich zur meiner zweiten Frage:
k.setRadius(r + i * dr); was passiert in der Zeile? Ich kapiers einfach nicht, bin mir aber sicher das die Antwort so simpel ist, das ich mir den Kopf gegen die Wand haue..
Also vielen Dank im voraus.
 
Zuletzt bearbeitet:

RB-Development

Mitglied
Moin erstmal,

zur ersten Frage:
Erste Frage: Kann ich Kreis k = new Kreis(radius); in einer Schleife einfügen, oder sollte man davon absehen? Mir kommt es falsch vor, aber es funktioniert zumindestens :)
Möglich ist das Ganze. Du solltest dir aber im Klaren darüber sein, dass du jedes mal ein neues Objekt der Klasse Kreis erstellst. In einem solchen Fall wäre es sinnvoll die Objekte in einer Arraylist oder ähnlichem zu speichern um ein späteren Zugriff gewährleisten zu können.
Zur zweiten Fragen:
k.setRadius(r + i * dr);
In dieser Zeile wird der Radius des Kreisobjekts k geändert. r ist der eingegebene Kreisradius, dr die eingegebene Erhöhung pro Durchlauf.
 

Mrekullia

Mitglied
Vielen Dank für deine Antwort. Zur zweiten Frage. Mir war klar was die Zeile macht, ich hatte einen Blackout und habe die Punkt vor Strich Rechnung vergessen. Habe ja gesagt das ich mir deswegen am liebsten den Kopf gegen die Wand haue, peinlich peinlich.
 

luckyluke9

Mitglied
package uebung05;
import javax.swing.JOptionPane;

public class Kreistabellemuster {
public static void main(String[] args) {
String kreisradius, erhoehung;
double r, dr;
kreisradius = JOptionPane
.showInputDialog("Geben Sie einen Kreisradius ein:");
erhoehung = JOptionPane
.showInputDialog("Geben Sie die Erhöhung ein:");
r = Double.parseDouble(kreisradius);
Kreis k = new Kreis(r);
dr = Double.parseDouble(erhoehung);
System.out.println("Radius\t\tUmfang\t\t\t\tFläche");
for (int i = 0; i < 30; i++) {
k.setRadius(r + i * dr);
System.out.println(k.getRadius() + "\t\t" + k.getUmfang() + "\t\t"
+ k.getFlaeche());
}
}
}


Kann mir jemand erklären, wie die Methode setRadius deklariert ist, sodass das Ganze Sinn ergibt?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
luckyluke9 Kreistabelle Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben