Mehrere If-Bedingung auf eine Else führen [in Not]

Wincenty

PCGHX-HWbot-Member (m/w)
Mehrere If-Bedingung auf eine Else führen [in Not]

Hallo,
jetzt bin ich die 2. Hausaufgabe am machen und habe schon folgenden Code zusammengeschustert:

gegoogelt habe ich zwar nach dem Titel dieses threads aber nur gefunden wie man in einer If mehrere Bedingungen reinsetzt, ich will ja aber mehrere nicht erfüllte ifs auf ein else leiten

Code:
import java.util.Scanner;

public class versuch1 {

    public static void main(String[] args) {
        
        System.out.println ("Dieses Porgamm ermöglichst es Ihnen Längen umzurechnen.");
        System.out.println ("Sie können entweder die Eingaben in der Konsole betätigen oder in der Argumentenliste einsetzen.");
        System.out.println ("Aber die Ausgabe wird immer in der Konsole angezeigt!");
        System.out.println ("Bitte beachten sie die Eingabe der Einheiten nach dem metrischem System:");
        System.out.println (" Kilometer = km; Hectometer = hm; Decameter = dam; Meter = m; Dezimeter = dm; Zentimeter = cm; Millimeter = mm!");

        if (args.length>0);

        // Hier soll später diesselbe Funktion rein wie unten nur wenn die Werte in den Argumentliste eingetragen sind
        
        else {
            
            double länge;
            Scanner Länge = new Scanner (System.in);
            char [] entereinheit;
            char [] outeinheit;
        
            System.out.println ("Bitte geben Sie erst die Länge die Sie umrechnen wollen und bestätigen mit Eingabetaste:");
            länge = Länge.nextDouble();
            System.out.println ("Bitte geben Sie nun die Einheit ein, die Sie umgerechnet haben wollen und bestätigen mit Eingabetaste:");
            Scanner unitin = new Scanner (System.in);
            String input = unitin.next ();
            entereinheit = input.toCharArray ();
            System.out.println ("Sie haben als Eingabeeinheit " + input + " gewählt.");
            System.out.println ("Bitte geben Sie nun die Einheit ein die Sie erhalten möchten und bestätigen mit Eingabetaste:");
            Scanner unitout = new Scanner (System.in);
            String output = unitout.next ();
            outeinheit = output.toCharArray ();
            System.out.println("Sie haben als Ausgabeeinheit " + output + " gewählt.");
            
            [B][I]if[/I][/B] (input.equals("mm")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000000 + output);
                }
            }
            [I][B]if [/B][/I](input.equals("cm")) {
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                }
            }
           [I][B] if[/B][/I] (input.equals("dm")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                }
            }
           [I][B] if[/B][/I] (input.equals("m")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
            }
           [I][B] if[/B][/I] (input.equals("dam")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
            }
           [B][I] if[/I][/B] (input.equals("hm")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
            }
           [I][B] if[/B][/I] (input.equals("km")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000000 + output);
                }
            }
            //hier soll else reinkommen auf den alle Ifs bei nicht erfüllung hinführen mit der Ausgabe: System.out.println ("ERROR: Eingegebene Einheit/Einheiten ist/sind Falsch!");
        }        
    }

}
Also ich bräuchte irgendwie sowas:
If ( if1 || if2 || if3 usw.) also wenn eine der Ifs korrekt ist, solle dann diese ausgeführt werden.
else System.out.println ("ERROR: Eingegebene Einheit/Einheiten ist/sind Falsch!");
 
Zuletzt bearbeitet:
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

switch Anweisung könnte hier auch gehen:
Java - switch Anweisung - VirtualUniversity

DIe Berechnung würde ich aber an andere Klassen delegieren dein Quelltext ist so schon sehr aufgbläht


für diesen Teil
System.out.println ("Dieses Porgamm ermöglichst es Ihnen Längen umzurechnen.");
System.out.println ("Sie können entweder die Eingaben in der Konsole betätigen oder in der Argumentenliste einsetzen.");
System.out.println ("Aber die Ausgabe wird immer in der Konsole angezeigt!");
System.out.println ("Bitte beachten sie die Eingabe der Einheiten nach dem metrischem System:");
System.out.println (" Kilometer = km; Hectometer = hm; Decameter = dam; Meter = m; Dezimeter = dm; Zentimeter = cm; Millimeter = mm!");

würde ich mir auch mal http://wiki.zum.de/Java/Konsolenausgabe angucken ;)
 
Zuletzt bearbeitet von einem Moderator:
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

n Freund von mir hat mir gesagt ich solle Switch benutzen, nur bekomme ich jetzt die Ergebnisse nicht mehr und die Error Meldung gibt er mir trotzdem noch:

Code:
import java.util.Scanner;

public class versuch1 {

    public static void main(String[] args) {
        
        System.out.println ("Dieses Porgamm ermöglichst es Ihnen Längen umzurechnen.");
        System.out.println ("Sie können entweder die Eingaben in der Konsole betätigen oder in der Argumentenliste einsetzen.");
        System.out.println ("Aber die Ausgabe wird immer in der Konsole angezeigt!");
        System.out.println ("Bitte beachten sie die Eingabe der Einheiten nach dem metrischem System:");
        System.out.println (" Kilometer = km; Hectometer = hm; Decameter = dam; Meter = m; Dezimeter = dm; Zentimeter = cm; Millimeter = mm!");

        if (args.length>0);
        
        else {
            
            double länge;
            Scanner Länge = new Scanner (System.in);
            char [] entereinheit;
            char [] outeinheit;
        
            System.out.println ("Bitte geben Sie erst die Länge die Sie umrechnen wollen und bestätigen mit Eingabetaste:");
            länge = Länge.nextDouble();
            System.out.println ("Bitte geben Sie nun die Einheit ein, die Sie umgerechnet haben wollen und bestätigen mit Eingabetaste:");
            Scanner unitin = new Scanner (System.in);
            String input = unitin.next ();
            entereinheit = input.toCharArray ();
            System.out.println ("Sie haben als Eingabeeinheit " + input + " gewählt.");
            System.out.println ("Bitte geben Sie nun die Einheit ein die Sie erhalten möchten und bestätigen mit Eingabetaste:");
            Scanner unitout = new Scanner (System.in);
            String output = unitout.next ();
            outeinheit = output.toCharArray ();
            System.out.println("Sie haben als Ausgabeeinheit " + output + " gewählt.");
            
            switch (9) {
            case 0: if (input.equals("mm")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000000 + output);
                }
            }
            case 1: if (input.equals("cm")) {
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                }
            }
            case 2: if (input.equals("dm")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                }
            }
            case 4: if (input.equals("m")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                }
            }
            case 5: if (input.equals("dam")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                }
            }
            case 6: if (input.equals("hm")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                }
                if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                }
            }
            case 7: if (input.equals("km")) {
                if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                }
                if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                }
                if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                }
                if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                }
                if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000000 + output);
                }
            }
            default: System.out.println ("ERROR: Eingegebene Einheit/Einheiten ist/sind Falsch!");
            }        
        }
    }
}
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

switch (9) {
case 0: if (input.equals("mm")) {

erwartet,dass Zahlen eingegeben werden wenn also 0 eingegeben wird läuft der teil hinter case 0 ab
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

achso ja aber wie soll das dann gehen mit dem switch? Im Unterricht haben wir noch nicht mit switch gearbeitet und in meinem Buch Einstieg in Java stehen zu Case-Verzweigungen keine guten Erklärungen (für mich)
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

SWITCH
Java - switch Anweisung - VirtualUniversity

Keine Ahnung von java aber was wäre denn grundsätzlich mit:

switch(input) ----als mm speichern
case "mm": x=länge
case "cm": x=länge*10
case "dm": x=länge*100
usw.

switch(output) ----umgerechnet ausgeben
case "mm": Ausgabe von x
case "cm": Ausgabe von x/10
case "dm": Ausgabe von x/100

Oder besser noch die Ausgabe in einer extra Funktion.
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

In dem Beispiel hier geht das wohl (nicht mein Fachgebiet):
Java switch/case statement syntax | a Tech-Recipes Tutorial

Sonst halt ein Umweg über entsprechende IF Abfragen und dann CASE 1: 2: 3: usw. :what:
Edit: zu langsam
Das ist schon ein IF Ungetüm. So kommt man schnell auf 1000 Codezeilen :lol:
Edit2: ok ich halte mich hier doch lieber raus :heul:
 
Zuletzt bearbeitet:
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

In dem Beispiel hier geht das wohl (nicht mein Fachgebiet):
Java switch/case statement syntax | a Tech-Recipes Tutorial

Sonst halt ein Umweg über entsprechende IF Abfragen und dann CASE 1: 2: 3: usw. :what:
Edit: zu langsam
Das ist schon ein IF Ungetüm. So kommt man schnell auf 1000 Codezeilen :lol:

In dem Beispiel seh ich (zumindest beim Überfliegen, die Antwort hat ja Pheonix schon gegeben) keine Strings in Switch sondern nur Konstanten (und enumerations gingen im Übrigen auch).

@-Phoenix-: Danke, das war mir neu!

Hier wird auf die Methode mit Aufzählungen und die Vor-/Nachteile von Strings in Switch eingegangen. Lesenswert und nochmal Danke an -Phoenix-!
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

Jetzt hab ich das so gemacht aber er zeigt mir ein Fehler (Rot gekennzeichnet)

Code:
if (input.equals[B][COLOR=red]("mm"||"cm"[/B]||"dm"||"m"||"dam"||"hm"||"km")) { [U][I][COLOR=darkorange]//The operator || is undefined for the argument type(s) java.lang.String, java.lang.String [/I][COLOR=darkorange][COLOR=black]nur immer bei dem ersten || macht der das[/U]                if (input.equals("mm")) {
                    if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                    }
                    if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                    }
                    if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                    }
                    if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                    }
                    if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000000 + output);
                    }
                }
                if (input.equals("cm")) {
                    if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                    }
                    if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                    }
                    if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                    }
                    if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                    }
                    if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                    }
                }
                if (input.equals("dm")) {
                    if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                    }
                    if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                    }
                    if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                    }
                    if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                    }
                    if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                    }
                    if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                    }
                }
                if (input.equals("m")) {
                    if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                    }
                    if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                    }
                    if (output.equals("dam")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                    }
                    if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                    }
                    if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                    }
                }
                if (input.equals("dam")) {
                    if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                    }
                    if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                    }
                    if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                    }
                    if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                    }
                    if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                    }
                }
                if (input.equals("hm")) {
                    if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                    }
                    if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                    }
                    if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                    }
                    if (output.equals("km")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                    }
                }
                if (input.equals("km")) {
                    if (output.equals("cm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                    }
                    if (output.equals("m")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                    }
                    if (output.equals("dm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                    }
                    if (output.equals("hm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                    }
                    if (output.equals("mm")) {
                    System.out.println (länge + input + " sind umgerechnet: " + länge*1000000 + output);
                    }
                }
            } else System.out.println("Eingabefehler bei den Einheiten");

[EDIT:] Ich verwende noch Java 6 und ob der Prof Java 7 hat weiß ich nicht, ich denk mal nicht weil er in den Angeben einer anderen Übung uns empfehlen hat sowas zu verwenden:
Code:
next.Char();
und dann erst später via moodle bescheid gegeben hat das es falsch ist
 
Zuletzt bearbeitet:
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

Moin
schreib das
Code:
if (input.equals[B][COLOR=red]("mm"||"cm"[/B]||"dm"||"m"||"dam"||"hm"||"km"))
lieber so
Code:
 if (input.equals("mm")  || input.equals("cm") || input.equals("m") || input.equals("dam") || input.equals("hm") || input.equals("km") )

Lg.
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

juppieh^^ danke jetzt geht schon mal Teil 2 des Programms jetzt muss ich nur noch die Implementierung für die Arguments machen ich hoffe das wird klappen^^

Derzeitiger Code sieht so aus:
Code:
import java.util.Scanner;

public class versuch1 {

    public static void main(String[] args) {
        
        System.out.println ("Dieses Porgamm ermöglichst es Ihnen Längen umzurechnen.\nSie können entweder die Eingaben in der Konsole betätigen oder in der Argumentenliste einsetzen.\nAber die Ausgabe wird immer in der Konsole angezeigt!\nBitte beachten sie die Eingabe der Einheiten nach dem metrischem System:\nKilometer = km; Hectometer = hm; Decameter = dam; Meter = m; Dezimeter = dm; Zentimeter = cm; Millimeter = mm!");

        double länge;
        char [] entereinheit;
        char [] outeinheit;
        
        if (args.length>0);
        
        [B][COLOR=darkgreen]//länge=Double.parseDouble(args[0]);[/B]
        
        [COLOR=orange][B]else[/B] {
            
            
            Scanner Länge = new Scanner (System.in);

            System.out.println ("Bitte geben Sie erst die Länge die Sie umrechnen wollen und bestätigen mit Eingabetaste:");
            länge = Länge.nextDouble();
            System.out.println ("Bitte geben Sie nun die Einheit ein, die Sie umgerechnet haben wollen und bestätigen mit Eingabetaste:");
            Scanner unitin = new Scanner (System.in);
            String input = unitin.next ();
            entereinheit = input.toCharArray ();
            System.out.println ("Sie haben als Eingabeeinheit " + input + " gewählt.\nBitte geben Sie nun die Einheit ein die Sie erhalten möchten und bestätigen mit Eingabetaste:");
            Scanner unitout = new Scanner (System.in);
            String output = unitout.next ();
            outeinheit = output.toCharArray ();
            System.out.println("Sie haben als Ausgabeeinheit " + output + " gewählt.");
            
            if (input.equals("mm")||input.equals("cm")||input.equals("dm")||input.equals("m")||input.equals("dam")||input.equals("hm")||input.equals("km")) {
                if (output.equals("mm")||output.equals("cm")||output.equals("dm")||output.equals("m")||output.equals("dam")||output.equals("hm")||output.equals("km")) {
                    if (input.equals("mm")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000000 + output);
                        }
                    }
                    if (input.equals("cm")) {
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                        }
                    }
                    if (input.equals("dm")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                        }
                    }
                    if (input.equals("m")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                    }
                    if (input.equals("dam")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                    }
                    if (input.equals("hm")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                    }
                    if (input.equals("km")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000000 + output);
                        }
                    }
                } else System.out.println("ERROR: Ausgabeeinheit ist Falsch!");
            } else System.out.println("Eingabefehler bei der Eingabeinheit");
        }
    }
}
Das erinnert mich als ich in der Mittelschule (entsapricht Gymnasium glaube ich) im "Informatikkurs" wir haben nur Micro$ Ecxel(5/2 Jahre), Word(1 Jahr), PPt(3/2 Jahre) und Access (1/2 Jahr) als wir mit Excell mehrfach verschachtelte Wenn Funktionen gemacht haben, da hatte ich auch mal so aus Spaß ganz viele ineinander und parallel verschachtelt xD

Kann man überhaupt in den Arguments chars einsetzen? und welche Funktion ist es zum einlesen wenn es geht?
Ich hab im Quelltext schon mal dden Befehl für den double markiert und das wird ja Stelle null sein zum einlesen aber gibt es sowas wie: input=Char.parseChar(args[1]); weil das wird bei mir als Fehler gezeigt also input und Char. wird markiert mit der Meldung: Cannot be resolved
und danach wird auch noch das erste else also das Orange im Sourcecode markiert

[EDIT:]
Ich hab das Programm jetzt vollstädnig und es sieht so aus:
Code:
import java.util.Scanner;

public class versuch1 {

    public static void main(String[] args) {
        
        System.out.println ("Dieses Porgamm ermöglichst es Ihnen Längen umzurechnen.\nSie können entweder die Eingaben in der Konsole betätigen oder in der Argumentenliste einsetzen.\nAber die Ausgabe wird immer in der Konsole angezeigt!\nBitte beachten sie die Eingabe der Einheiten nach dem metrischem System:\nKilometer = km; Hectometer = hm; Decameter = dam; Meter = m; Dezimeter = dm; Zentimeter = cm; Millimeter = mm!");

        double länge;
        char [] entereinheit;
        char [] outeinheit;
        
        do {
        
        if (args.length>0)
        
        länge=Double.parseDouble(args[0]);
        
        else {
            
            
            Scanner Länge = new Scanner (System.in);

            System.out.println ("Bitte geben Sie erst die Länge die Sie umrechnen wollen und bestätigen mit Eingabetaste:");
            länge = Länge.nextDouble(); }
            System.out.println ("Bitte geben Sie nun die Einheit ein, die Sie umgerechnet haben wollen und bestätigen mit Eingabetaste:");
            Scanner unitin = new Scanner (System.in);
            String input = unitin.next ();
            entereinheit = input.toCharArray ();
            System.out.println ("Sie haben als Eingabeeinheit " + input + " gewählt.\nBitte geben Sie nun die Einheit ein die Sie erhalten möchten und bestätigen mit Eingabetaste:");
            Scanner unitout = new Scanner (System.in);
            String output = unitout.next ();
            outeinheit = output.toCharArray ();
            System.out.println("Sie haben als Ausgabeeinheit " + output + " gewählt.");
            
            if (input.equals("mm")||input.equals("cm")||input.equals("dm")||input.equals("m")||input.equals("dam")||input.equals("hm")||input.equals("km")) {
                if (output.equals("mm")||output.equals("cm")||output.equals("dm")||output.equals("m")||output.equals("dam")||output.equals("hm")||output.equals("km")) {
                    if (input.equals("mm")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000000 + output);
                        }
                    }
                    if (input.equals("cm")) {
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100000 + output);
                        }
                    }
                    if (input.equals("dm")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10000 + output);
                        }
                    }
                    if (input.equals("m")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("dam")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/1000 + output);
                        }
                    }
                    if (input.equals("dam")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/100 + output);
                        }
                    }
                    if (input.equals("hm")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                        }
                        if (output.equals("km")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge/10 + output);
                        }
                    }
                    if (input.equals("km")) {
                        if (output.equals("cm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10000 + output);
                        }
                        if (output.equals("m")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000 + output);
                        }
                        if (output.equals("dm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*100 + output);
                        }
                        if (output.equals("hm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*10 + output);
                        }
                        if (output.equals("mm")) {
                            System.out.println (länge + input + " sind umgerechnet: " + länge*1000000 + output);
                        }
                    }
                } else System.out.println("ERROR: Ausgabeeinheit ist Falsch!");
            } else System.out.println("Eingabefehler bei der Eingabeinheit");
            System.out.print ("Möchten Sie das Programm beeden? Y für Ja oder N für Nein");

            char endlauf;
            Scanner ende = new Scanner(System.in);
            endlauf=ende.next().charAt(0);
            if (endlauf == 'Y') {
             break;
             }
            } while (0==0) ;
    }        
}
 
Zuletzt bearbeitet:
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

Nein nicht mehr, hier ist einer der Toplösungen die uns der Prof gegeben hat:

Code:
public class UmwandlungMitTabelle {  	/** 	 * @param args 	 */ 	public static void main(String[] args) { 		// TODO Auto-generated method stub  String Einheiten[]={"km","hm","dam","m","dm","cm","mm"}; double Länge1; Länge1 = Double.parseDouble(args[0]); String A = args[1]; String B = args[2]; int i; double Ein1=0,Ein2=0; for(i=0;i<6;i++) {if (Einheiten [i].compareTo(A) !=0)Ein1=i; if (Einheiten [i].compareTo(B) !=0)Ein2=i;	 }  System.out.println(Länge1 * Math.pow(10,Ein1-Ein2)+" "+B);  	 	}  }
 
AW: Mehrere If-Bedingung auf eine Else führen [in Not]

Also ich bräuchte irgendwie sowas:
If ( if1 || if2 || if3 usw.) also wenn eine der Ifs korrekt ist, solle dann diese ausgeführt werden.
else System.out.println ("ERROR: Eingegebene Einheit/Einheiten ist/sind Falsch!");
Da Java bei mir schon relativ lange her ist, gebe ich dir nur einen allgemeinen Tipp:

So wie ich das sehe, kannst du dir die vielen "kleinen" ifs in der Klammer sparen. Mit einem "großen" if und mehreren ODER-verknüpften Bedingungen in der Klammer solltest du auf das hinkommen, was du willst.

Bsp:

if (Bedingung1==wahr/falsch/whatever || Bedingung2!=something || Bedingung3<=something) {
do ... ;
} else {
System.out.printf("ERROR: Eingegebene Einheit/Einheiten ist/sind Falsch!\n");
}

[Edit]
Ups, zu spät gesehen, dass du eh schon die Lsg. hast. ;)
 
Zurück