Änderung eines Programms (Thema Methoden)

Simon100

Mitglied
Hi,

haben nächste Woche ine Aufgabe in Informatik und das Thema sind Methoden.

Habe ein Programm geschrieben das von meter (m) nach inch (in) umrechnet und anders rum.

Habe das mit switch und case gemacht, aber jetzt wollte ich das mal mit if und else machen aber das bekomme ich nicht hin.

Ich hoffe ihr könnt mir helfen ?

Zu dem hatte ich auch sehr große Probleme das Programm zu schreiben und brauchte auch sehr viel hilfe.


Zu dem war der Berreich (//Abfrage von was nach was ) schon vorgegeben.

Und was auch noch wichtig ist das YES_OPTION für m nach in steht und NO_OPTION für in nach m.

[JAVA=1]import javax.swing.*;

class Meter
{
public static void main (String [] args)
{
//Deklarieren und initalisieren

double wert, ergebniss;

//Abfrage von wo nach wo
int i = 0;
String str [] = {"m nach in", "in nach m"};

i = JOptionPane.showOptionDialog(null,
"umrechnen von ... nach ...",
"Umrechnen",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
str,
JOptionPane.YES_OPTION);

//Rechnung
switch (i)
{
case JOptionPane.YES_OPTION: wert = Double.parseDouble(JOptionPane.showInputDialog ("Geben Sie den Umzurechnenden Wert in Meter ein: "));
ausgabe(mzuin(wert), wert, 0); //m nach in
break;
case JOptionPane.NO_OPTION: wert = Double.parseDouble(JOptionPane.showInputDialog ("Geben Sie den Umzurechnenden Wert in Inch ein: "));
ausgabe(inzum(wert), wert, 1); //in nach n
break;
default: System.exit(0);
}
System.exit(0);

}

public static double mzuin (double wert) //m nach in
{
wert = wert * 39.37;
return wert;
}

public static double inzum (double wert) //in nach m
{
double back = wert * (1/39.37);
return back ;
}

public static void ausgabe (double ergebniss, double wert, int a)
{
switch (a)
{
case 0: JOptionPane.showMessageDialog(null, wert + "m sind " + ergebniss + "in."); //Ausgabe für m -> in
break;
case 1: JOptionPane.showMessageDialog(null, wert + "in sind " + ergebniss + "m."); //Ausgabe für in -> m
break;
}
System.exit(0);
}
}
[/code]

Meine Idee für die erste Anwendung von switch und case in if und else:

[JAVA=27]if(i = JOptionPane.YES_OPTION) {
Double.parseDouble(JOptionPane.showInputDialog ("Geben Sie den Umzurechnenden Wert in m ein: "));
ausgabe(mzuin(wert), wert, 0); //m nach in

}else{

Double.parseDouble(JOptionPane.showInputDialog ("Geben Sie den Umzurechnenden Wert in in ein: "));
ausgabe(inzum(wert), wert, 1); //in nach n


}
[/code]


lg Simon
 

Final_Striker

Top Contributor
Mit einem
Code:
=
weißt man einer Variablen einen Wert zu. Vergleichen kann man mit
Code:
==
bei primitiven Datentypen oder
Code:
equals
-Methode bei Objekten.
 

Simon100

Mitglied
ah ja das mit dem = stimmt, habe ich ganz übsersehen.

Das habe ich auch geändert.

Aber nun habe ich folgenden fehler :

Meter.java:28: error: variable wert might not have been initialized
ausgabe(mzuin(wert), wert, 0); //m nach in
^
Meter.java:33: error: variable wert might not have been initialized
ausgabe(inzum(wert), wert, 1); //in nach n
^


Müsste ja heißen das ich die variable wert nicht initialisiert habe oder ??

aber das habe ich doch oben unter dem String gemacht.

Hatte einfach mal double wert; vor dem if geschrieben, da hat er aber gesagt das das ja bereit oben vorhanden ist.
 

Neue Themen


Oben