Kreisberechnung

Hallo Leute ich habe ein Problem… Ich fange gerade mit Java an und habe mir erstmal als ziel gesetzt ein Programm zu schreiben, in dem man angeben kann was man haben will Umfang Radius oder Fläche und es soll jeweils die beiden anderen Berechnen also möchte ich erst in einem Fenster (R,U,A) angeben können und dann mir IF ELSE arbeiten verstehe aber nicht wie ich das anstellen soll :frowning:
Hier: Bitte um schnelle Hilfe!

import javax.swing.*;

public class Kreis {

    public static void main(String [] args) {
    double radius,umfang,inhalt;
    String einheit,eingabe;
	eingabe = JOptionPane.showInputDialog("Was ist gesucht?, R,U,A");
	public static void main(String [] args)
	v1 = char.valueOf(args[]).charValue();
	if(v1=u)
		goto umfang;
	else 
		System.exit(0);
	eingabe = JOptionPane.showInputDialog("Radius");
    radius  = Double.parseDouble(eingabe);
	eingabe = JOptionPane.showInputDialog("Eingabe");
	einheit = eingabe;
    umfang = 2.0 * 3.1415 * radius;
    inhalt  = 3.1415 * radius * radius;
	radius = umfang / 2 * 3.1415;
    System.out.print("Umfang: ");
    System.out.print(umfang);
    System.out.println(" " + einheit);
    System.out.print("Flaeche: ");
    System.out.print(inhalt);
    System.out.println(" " + einheit + '\u00fd');
  }
}

Erstmal willkommen im Forum!

Dein code wird so nicht funktionieren, weil er gar nicht compiliert:

if(v1=u)
Das einfache Gleichheitszeichen ist in Java immer eine Zuweisung, kein Vergleich. Zum Vergleichen benutzt man immer die Methode.equals(), es sei denn es handelt sich um “primitive” Zahlemtypen, dass sind die, die mit kleinem Buchstaben anfangen (int, double, long, byte, short) Nur diese sollten mit dem doppelten Gleichheitszeichen == verglichen werden.

Außerdem vermute ich, dass Du die Variable v1 mit dem Buchstaben "u" vergleichen willst. Dazu musst Du aber (wie ich gerade) die doppelten Gänsefüßchen darum machen, weil Java es sonst für eine Bezeichner hält und dessen Nichtexistenz entsprechend bemängelt.

goto umfang;
Java kennt zwar das Schlüsselwort goto, es hat hier aber keinerlei Funktion. Diese Zeile springt also nicht irgendwo anders hin.

System.exit(0);
Das ist 'ne ganz Schlechte Idee. Das beendet die JMV auf der Stelle. Nichts anderes kann mehr gemacht werden. Das ist normaler Weise nicht das, was man will. Gewöhne Dich gar nicht erst daran.

OK, mit diesen Hinweisen solltest Du den Code erst mal übersetzbar bekommen.
Dann wird er immer noch nicht laufen, aber darum kümmern wir uns im nächsten Schritt.

bye
TT

Außerdem kommt bei dir public static void main(String [] args) zweimal vor - das zweite mal hat es da nichts zu suchen.

Variablen brauchst du nicht wie bei BASIC oder Pascal am Anfang zu deklarieren, stattdessen einfach bei der ersten Verwendung den Typ davorschreiben, z.B. double radius = Double.parseDouble(eingabe);

Zur eigentlichen Frage: Es gibt verschiedene Lösungswege, am einfachsten wäre diese Struktur (innerhalb der Methode):

String eingabe = JOptionPane.showInputDialog("Was ist gesucht?, R,U,A");
double radius;
double umfang;
double inhalt;
if (eingabe.equalsIgnoreCase("R")) {
   // Lies U und A ein, berechne R
} else if (eingabe.equalsIgnoreCase("U")) {
   // Lies R und A ein, berechne U
} else if (eingabe.equalsIgnoreCase("A")) {
   // Lies R und U ein, berechne A
} else {
  // Ausgabe: "Du warst zu verpeilt, um die richtige Taste zu drücken!"
}

//Ausgabe von R, U, A

Und bitte für Code [****java]-Tags verwenden!

Falls es sich um eine Hausaufgabe handelt, wäre das entsprechende Forum passender. Davon ab machen die hier lesenden und schreibenden Forennutzer das unentgeltlich.

Es reicht also völlig, um Hilfe zu bitten, drängeln empfinde ich als etwas unfreundlich.

Das ist jetzt nicht böse gemeint, willkommen im Forum. Zu deinem Problem sollten die genannten Anstöße ja ersteinmal weiterhelfen.