1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Calculator

  • Moni_woj
  • 5. November 2008 um 19:50
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Moni_woj
    Punkte
    15
    Beiträge
    2
    • 5. November 2008 um 19:50
    • #1

    Hallo

    Ich habe das Programm eigentlich schon fertig, leider gibt es ein keines Problem und ich weis nicht ob das in die Benotung stark einfließt.

    Es gibt beim herunterladen der Angabe auch Dateien mit Testwerten. Die heißen SimpleCaltulator.i1-i7. Alles test sind positiv ausgefallen bis auch die Date SimpleCaltulator.i1.

    Denn da werden 2 Zahlen korrekt eingegeben aber als Operator nichts mehr.

    Fehler:
    Exception in thred "main" java.util.NoSuchElementExeption
    at java.util.Scanner.throwFor(Scanner.java:838)
    at java.util.Scanner.next(Scanner.java:1347)
    at Calculator.main(Calculator.java:16)

    Wer kann helfen? Ich hab mir gedacht das die Leerzeichen oder Enter abzufangen aber ich weis nicht wie das gehen soll.

  • Numerio
    Punkte
    801
    Beiträge
    153
    • 5. November 2008 um 19:55
    • #2

    ich weiß selbst noch nicht wie ich das mach, aber du könntest evtl mit has.next() abfragen ob nach den zwei zahlen noch eine Eingabe erfolgt --> wenn nicht, dann: "Falsche EIngabe"

  • Moni_woj
    Punkte
    15
    Beiträge
    2
    • 5. November 2008 um 20:06
    • #3

    Habe ich gerade ausprobiert aber es funktioniert nicht er erkennt ein ENTER oder Leerzeichen nicht. Er wartet solange bis ein Zeichen eingegeben worden ist.

    Einmal editiert, zuletzt von Moni_woj (5. November 2008 um 20:15)

  • myAces
    Punkte
    138
    Beiträge
    25
    • 5. November 2008 um 20:18
    • #4

    Wie numerio gesagt hat, muss du mit der Methode hasNext() zuvor abfragen, ob noch ein weiteres Element des Scanners existiert.

    Bzw. wenn ich deinen letzten post richtig verstanden habe, mit Strg + C (unter windows) kannst du in der Konsole dem Programm mitteilen, dass deine Eingabe beendet ist.

  • 0647862
    Punkte
    10
    Beiträge
    2
    • 6. November 2008 um 22:34
    • #5
    Zitat von Moni_woj

    Hallo

    Ich habe das Programm eigentlich schon fertig, leider gibt es ein keines Problem und ich weis nicht ob das in die Benotung stark einfließt.

    Es gibt beim herunterladen der Angabe auch Dateien mit Testwerten. Die heißen SimpleCaltulator.i1-i7. Alles test sind positiv ausgefallen bis auch die Date SimpleCaltulator.i1.

    Denn da werden 2 Zahlen korrekt eingegeben aber als Operator nichts mehr.

    Fehler:
    Exception in thred "main" java.util.NoSuchElementExeption
    at java.util.Scanner.throwFor(Scanner.java:838)
    at java.util.Scanner.next(Scanner.java:1347)
    at Calculator.main(Calculator.java:16)

    Wer kann helfen? Ich hab mir gedacht das die Leerzeichen oder Enter abzufangen aber ich weis nicht wie das gehen soll.

    Alles anzeigen

    da gibts so viele möglichkeiten. du darfst nicht so kompliziert denken :)

    ich weiß nicht ob du dich mit switch-case auskennst deswegen werd ichs mal ein bisl umständlicher schreiben. aber anfangs logischer.

    also wie sagst du dem programm dass er eine zahl erwartet...?

    ich schätz mal in deinem code wird etwas wie...

    Code
    ...
    if(reader.hasNextInt()){
       zahl = reader.nextInt();
    }else{
       boolean = false;
    }...

    ...stehen

    und mit den operatoren machst dus nicht anders:

    Code
    ...
    if(reader.hasNext()){
      if(reader.next().equals("+")){
        ergebnis = zahl + zahl2;
      }
      elseif{
        ...
      }else{
        boolean = false;
      }
    }else{
      boolean = false;
    }...
    Alles anzeigen

    ich muss zugeben es ist nicht sehr "schön" geschrieben aber ich glaube anfang einfacher zu verstehen

    3 Mal editiert, zuletzt von 0647862 (6. November 2008 um 22:41)

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum