Probleme mit Java - If Schleife

Diskutiere Probleme mit Java - If Schleife im Webmaster Hilfe / Programmierer Forum Forum im Bereich Computerprobleme; Hallo Leute, bin gerade dabei Java zu lernen und dabei sollten wir ein Programm schreiben, was die Konvertierung primitiver Datentypen...

  1. #1 BooWseR, 31.10.2013
    BooWseR

    BooWseR Erfahrener Benutzer

    Dabei seit:
    08.11.2011
    Beiträge:
    766
    Zustimmungen:
    7
    Ort:
    Deutschland
    Hallo Leute,

    bin gerade dabei Java zu lernen und dabei sollten wir ein Programm schreiben, was die Konvertierung primitiver Datentypen erläutert.
    Da ich diese sinnlose Schreibarbeit aber nicht als sonderlich sinnvoll erachte, wollte ich mein Programm ein wenig "aufpeppen".

    Mein Ziel ist es, dass man eine Zahl eingibt und das Programm einem sagt in welchen Wertebereich diese Zahl fallen kann.

    Das mit dem Eingeben funktioniert ganz gut, doch danach hört es leider auf:

    Im Moment fahre ich noch mit:

    If ( x >= -128 && x <= 127 )
    System.out.println("Byte");

    usw.

    Nun habe ich das nächste If mit dem Wertebereich von Short. Gebe ich nun 1000 ein kommt aber nicht System.out.println("Short"), sondern er springt direkt zum else. Auch Else if und { } nach jeder Anweisung brachten keinen Erfolg.

    Nun bin ich über switch case gestolpert, welches jedoch nicht in der Lage ist mit double zu arbeiten, sondern nur mit String und int.

    Fällt euch eine andere Methode abseits der If oder Switch Schleife ein mein Problem zu bewältigen?

    Außerdem sehe ich mich gleich vor noch einem Problem. Sollte nun alles klappen, so muss ich ihm noch zu verstehen geben, dass er bspw. für Byte nur den Wertebereich der Ganzzahlen nehmen soll.

    Wäre super wenn da jemand eine Idee für mich hätte.

    Lieben Gruß,
    BooWseR
     
  2. Anzeige

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Lotus

    Lotus Erfahrener Benutzer

    Dabei seit:
    17.02.2007
    Beiträge:
    2.428
    Zustimmungen:
    0
    Poste mal bitte den ganzen Code.
    Das sollte mit if-else prima funktionieren.

    if (x >= ... && x<= ...)
    { ... }
    else if (x >= ... && x <= ...)
    {...}
    else {...}

    Wenn x von der Variable double ist, solltest du glaube ich 128.0 nutzen, bei arithmetischen Operationen ist das notwendig, bei if-else Anweisungen bin ich mir nicht sicher.

    Bei Überprüfung auf Ganzzahlen kannst du einfach mit Modulo auf einen Rest prüfen.
     
  4. #3 xandros, 01.11.2013
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.065
    Zustimmungen:
    107
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    die wohl einfachste Art herauszufinden, ob eine Zahl eine Ganzzahl ist:
    Caste den Wert nach Int, ziehe den so ermittelten Wert von der Ausgangszahl ab. Ist das Ergebnis 0, dann hast du eine Ganzzahl.
    Code:
    if( (d - (int)d) == 0)
      .....
     
  5. #4 BooWseR, 01.11.2013
    Zuletzt bearbeitet: 04.11.2013
    BooWseR

    BooWseR Erfahrener Benutzer

    Dabei seit:
    08.11.2011
    Beiträge:
    766
    Zustimmungen:
    7
    Ort:
    Deutschland
    OK, das mit int gefällt mir vom Prinzip, müsste es dann aber mit long machen, da es sonst zu einem Fahler kommen könnte.

    Bevor ich bei short den Wert von -128 - 127 ausgeklammert hatte ging es vom Prinzip, nur wenn ich dann 1 eingegeben hatte zeigte er beide If Möglichkeiten an, darum jetzt so umständlich formuliert. Versteh sowieso nicht, warum er die nächsten If noch prüft, wenn das erste schon zutreffend ist... :confused:

    Und wieder ein schöner Fehler des menschlichen Versagens. Hab den Wertebereich einfach reinkopiert und vergessen, dass er die 32.767 nicht als 32767 nimmt, sondern als 32,767.

    Ok, nun funktioniert es. Mal schauen wie lange noch...

    Achso, kann ich, statt den Wertebereich von Hand einzugeben mit MAX_VALUE arbeiten? Falls ja, kann jemand mein ein If Argument mit Beispielsyntax bringen?
     
  6. Anzeige

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
Thema:

Probleme mit Java - If Schleife

Die Seite wird geladen...

Probleme mit Java - If Schleife - Ähnliche Themen

  1. Probleme nur in einem von vielen WLANs

    Probleme nur in einem von vielen WLANs: Hello, finde leider keinen Ansatzpunkt für mein Problem. Mit meinem Laptop (Win 7, alle Updates, nie Probleme, Windows vor einer Woche frisch...
  2. Probleme bei Portfreigabe für FritzBox 6490 Cabel

    Probleme bei Portfreigabe für FritzBox 6490 Cabel: Halle alle zusammen, seit Installation meiner FritzBox 6490 cabel blokiert die Box die freigegeben Ports TCP für aMule 4664 und UDP für aMule...
  3. Internet Probleme mit meinem neuen Rechner(WLan-Stick)

    Internet Probleme mit meinem neuen Rechner(WLan-Stick): Guten Tag liebes Forum, ich habe ein Problem welches mir vor Stress langsam die Haare rausfallen lässt. Mein Internet funktioniert im Haus...
  4. Aldi Talk Probleme

    Aldi Talk Probleme: Hey, ich habe für meine Tochter ALDI TALK Musik Paket M abgeschlossen. Kann mir hier mal jemand erklären was das Produkt beinhaltet, bzw. mit...
  5. Upload und ping Probleme

    Upload und ping Probleme: Hallo lieber User, seit kurzem haben ich ein heftiges Problem. Mein Upload ist unterirdisch langsam und mein Ping schwankt heftig. Wir haben...