Java Taschenrechner mit Klammerung

Diskutiere Java Taschenrechner mit Klammerung im Codeschnipsel u. Projekte Forum; Ich habe einen Taschenrechner mit JAVA programmiert der auch Klammerung unterstützt. Jetzt möchte ich dieses Projekt gerne vorstellen. Ich habe...

  1. _Andi-84
    _Andi-84 Neues Mitglied
    Ich habe einen Taschenrechner mit JAVA programmiert der auch Klammerung unterstützt.
    Jetzt möchte ich dieses Projekt gerne vorstellen.
    Ich habe dafür ca. drei Wochen gebraucht. Soll ich den Quelltext nun hochladen oder nicht ?
    War schließlich viel Arbeit ... Hier jedenfalls mal ein Screenshot.

    Unbenannt.JPG
     
  2. Wenn du jetzt Java lernen möchtest, dann sichere dir hier unseren Java-Videokurs heute zum Sonderpreis (hier klicken!)
  3. Robat
    Robat Bekanntes Mitglied
    Ich würde den Code einfach auf Github hochladen und hier den Link zum Repos posten
     
  4. Robert93
    Robert93 Neues Mitglied
    Sieht aufjedenfall sehr interessant aus. Starke Sache :)
    Ich schließe mich Robats Meinung an. Auf GitHub hochladen und hier verlinken. Damit hast du gleichzeitig auch ein Vorzeige-Portfolie, bei dem du sämtliche deiner Projekte hochladen kannst.
     
  5. mihe7
    mihe7 Bekanntes Mitglied
    Sieht gut aus, aber es heißt trotzdem noch Java :D
     
    Robat gefällt das.
  6. _Andi-84
    _Andi-84 Neues Mitglied
    mihe7 gefällt das.
  7. mihe7
    mihe7 Bekanntes Mitglied
    Jetzt wäre noch die Frage: wolltest Du Dein Projekt nur präsentieren oder willst Du Kritiken dazu?
     
  8. Tobias-nrw
    Tobias-nrw Bekanntes Mitglied
    WIE unterstützt er denn diese Klammern oder Klammerung? Vollständig e Infixnotation nach dem "Shunting-yard algorithm"? (Frage nur interessehalber).
     
  9. _Andi-84
    _Andi-84 Neues Mitglied
    Der Taschenrechner speichert jede Rechnung zwischen den Klammern in eine neue Klammerebene.
    Dann werden die Klammerebenen abgearbeitet. Erst für Punkt dann für Strichrechnung. Ich bin kein
    Mathematiker. Von dem Shunting-yard-algorithm lese ich zum ersten mal.
     

    Anhänge:

  10. Tobias-nrw
    Tobias-nrw Bekanntes Mitglied
    Ich denke das war Dijkstra auch nicht. xD

    Mit dem shuntin-yard-algorithm können "quasi" beliebig geklammerte Ausdrücke berechnet werden.
     
    mihe7 gefällt das.
  11. httpdigest
    httpdigest Bekanntes Mitglied
    Ich würde als Basis immer einen Parsergenerator mit einer formalen Grammatik verwenden. Das hat auch den Vorteil, dass man Ausdrücke einfach rein-copy-pasten kann. Hier zum Beispiel das Grundgerüst einer JavaCC LL(k) Grammatik zum Parsen von mathematischen Ausdrücken inklusive Funktionsaufrufen:
    Code (Text):

    PARSER_BEGIN(MathExprParser)
    public class MathExprParser {}
    PARSER_END(MathExprParser)
    SKIP :
    {
      " " | "\r" | "\t" | "\n"
    }
    TOKEN :
    {
      < ADD_OPS : ( "+" | "-" ) >
    | < MUL_OPS : ( "*" | "/" | "%" ) >
    | < EXP_OPS : ( "^" ) >
    | < LPAR : "(" >
    | < RPAR : ")" >
    | < NUMBER :
        (
          ([ "0"-"9" ])* (".")? ([ "0"-"9" ])+
        | ([ "0"-"9" ])+ (".")? ([ "0"-"9" ])*
        ) ( [ "e", "E" ] ([ "-", "+" ])? ([ "0"-"9" ])+ )? >
    | < IDENTIFIER : [ "_", "a"-"z", "A"-"Z" ] ([ "_", "0"-"9", "a"-"z", "A"-"Z" ])* >
    }
    void expression() :
    {}
    {
      additive()
    }
    void additive() :
    {}
    {
      mul() ( < ADD_OPS > mul() )*
    }
    void mul() :
    {}
    {
      unary() ( < MUL_OPS > unary() | exp() )*
    }
    void unary() :
    {}
    {
      < ADD_OPS > unary() | exp()
    }
    void exp() :
    {}
    {
      primary() ( LOOKAHEAD(1) < EXP_OPS > unary() )*
    }
    void primary() :
    {}
    {
      literal() | funorvariable() | < LPAR > expression() < RPAR >
    }
    void literal() :
    {}
    {
      t = < NUMBER >
    }
    void funorvariable() :
    {}
    {
      t = < IDENTIFIER > ( LOOKAHEAD(1) < LPAR > expression() < RPAR > )?
    }
    Diese Grammatik in Action: https://github.com/httpdigest/simple-expression-compiler
     
    Zuletzt bearbeitet: 19. März 2019 um 10:45 Uhr
    Tobias-nrw gefällt das.
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Java Taschenrechner mit Klammerung - Ähnliche Themen

Sehr viele Exceptions bei Taschenrechner mit JavaFx
Sehr viele Exceptions bei Taschenrechner mit JavaFx im Forum AWT, Swing, JavaFX & SWT
Java Taschenrechner
Java Taschenrechner im Forum Java Basics - Anfänger-Themen
Java Taschenrechner (if-else)
Java Taschenrechner (if-else) im Forum Java Basics - Anfänger-Themen
Taschenrechner, der auf JavaFX basiert. Verständnisprobleme
Taschenrechner, der auf JavaFX basiert. Verständnisprobleme im Forum Hausaufgaben
Java Taschenrechner Programmieren
Java Taschenrechner Programmieren im Forum Java Basics - Anfänger-Themen
Thema: Java Taschenrechner mit Klammerung