Probleme mit Java - If Schleife

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von BooWseR, 31.10.2013.

  1. #1 BooWseR, 31.10.2013
    BooWseR

    BooWseR Erfahrener Benutzer

    Dabei seit:
    08.11.2011
    Beiträge:
    742
    Zustimmungen:
    6
    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. AdMan

    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:
    25.881
    Zustimmungen:
    91
    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:
    742
    Zustimmungen:
    6
    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. AdMan

    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. 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...
  2. 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...
  3. Graka GTX 1060 Macht Probleme :O

    Graka GTX 1060 Macht Probleme :O: Hallo liebes Board, ich hab mir vor ein paar Tagen ne neue Grafikkarte gekauft und leider macht die ein paar Probleme, in Form von ziemlich harten...
  4. Probleme mit IncrediMail

    Probleme mit IncrediMail: Hallo, ich habe das E-Mailprogramm von "Incredimail" und bin zufrieden damit. Nun kam eine E-Mail die mir nicht gefiel. Also habe ich diese nicht...
  5. Suche Service-Hotline für PC-Probleme!

    Suche Service-Hotline für PC-Probleme!: Guten Tag! Ich habe ein paar (größere) Software-Probleme und suche nach einer kompetenten Beratung via Telefon- das sollte fürs erste reichen!...