1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Calculator

  • Moni_woj
  • 5. November 2008 um 19:50
  • Unerledigt
  • Moni_woj
    2
    Moni_woj
    Mitglied
    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
    9
    Numerio
    Mitglied
    Reaktionen
    6
    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
    2
    Moni_woj
    Mitglied
    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
    4
    myAces
    Mitglied
    Reaktionen
    3
    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
    1
    0647862
    Mitglied
    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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung