Wer ist wieder da? Der doofe Garfield...
Ich muss gestehen, dass ich trotz eurer tollen Hilfe echte Schwierigkeiten habe, mit abstraktem Zeugs wie Objektzugriffen etc. umzugehen. Bzw. es so zu kapieren, dass ich es mühelos umsetzen könnte. Ihr meint, es wäre klüger, mir ein anderes Hobby zu suchen?
Das wäre damit wohl endgültig geklärt!
So, zur Sache. Ich habe eine kleine Verständnisfrage. Das Programm soll nur Fläche und Umfang ausrechnen und ausgeben. Hier das Programm in all seiner Pracht und Schönheit (man beachte, dass die Berechnungen im Konstruktor erfolgen. Ja, so muss ein Java-Konstruktor aussehen! ):
PHP-Code:
/* class-Test mit Kreis als MacGuffin */
import javax.swing.JOptionPane;
class Kreis {
double radius, A, U;
Kreis(double r) {
double radius, A, U; // [SIZE=3]HIER FÄNGT DER FISCH ZUM STINKEN AN!!!![/SIZE]
radius = r;
while (radius <= 0) {
String rad;
rad = JOptionPane.showInputDialog("Bitte positiven Radius eingeben: ");
radius = Double.parseDouble(rad);
}
A = ((radius * radius) * Math.PI);
U = ((2 * radius) * Math.PI);
JOptionPane.showMessageDialog(null, "Radius: " + radius + ";" + " Fläche: " + A + ";" + " Umfang: " + U);
}
void Ausgabe() {
JOptionPane.showMessageDialog(null, "Radius: " + radius + ";" + " Fläche: " + A + ";" + " Umfang: " + U);
}
}
: Beim Konstruktor Kreis(double r) definiere ich Variablen, die ich direkt zu Beginn des Objekts "Kreis" auch ins Leben gerufen habe. Das funktioniert nicht. Hat mich auch nur 3 Stunden gekostet, rauszufinden, warum das Programm nicht geklappt hat Wie dem auch sei: Wenn ich A und U also im Konstruktor benenne, klappt zwar die JOptionPane-Ausgabe im Konstruktor, die in der Methode ausgabe aber nicht. (Bennene ich A und U im Konstruktor nicht, dann ist alles pipifein). Die Frage: Innerhalb einer Methode definierte Variablen "leben" nur innerhalb dieser Methode - will ich die Ergebnisse auch in anderen Methoden derselben Klasse verwenden, muss ich die Variablen in der allgemeinen Klasse benennen. Seh ich das richtig?