Výsledky 1 až 5 z 5

Téma: java > řetězec

  1. #1

    Standardní java > řetězec

    ahoj, může mi někdo poradit...mám udělat program, do kterýho se zadá řetězec znaků (např: 2+3*4-2+6....) a následně se spočtou. tušim jak by se to mělo dělat, ale nevim jak to sepsat.

  2. #2
    Member Avatar uživatele Keymaster
    Založen
    18.01.2005
    Bydliště
    Přerov, Praha, Whatever...
    Příspěvky
    211
    Vliv
    253

    Standardní Re: java > řetězec

    pomocí shunting yard algoritmu to převedeš na RPN (postfix), který zpracovat je už jednoduché. Alternativou je odvodit si bezkontextovou gramatiku výrazů (což není jednoduchý, ale pro tohle se to určitě dá najít na googlu) a naimplementovat ji jako rekurzivní sestup. Podrobnější info viz wiki. A jo, není to nic jednoduchýho/rychlýho...
    4300 2997 | 2048 667 | 8600 256 | 640 7200 | 250 7200
    It is a scientifically proven fact, that use of English signatures at Czech discussion boards is sign of mental retardation :-p

  3. #3

    Standardní Re: java > řetězec

    Vsechno zalezi od toho, jak dany retezec muze vypadat.
    Obecne je to jednoducha uloha na prekladac.

    Na tohle by mela stacit lexikalni a syntaticka analyza, abych vedel, co mi vubec muze prijit. Z toho se jiz da postavit strom a vyhodit vysledek.
    Tady jsou i celkem pekne ukazky: http://cs.wikipedia.org/wiki/P%C5%99eklada%C4%8D http://cs.wikipedia.org/wiki/Bezkont...3%A1_gramatika

    Pokud by gramatika byla dostatecne jednoducha, tak by to slo napsat i z hlavy. Vse tedy zalezi na dane gramatice.

    EDIT: OK, moje reseni je obecne a o uroven niz, s tim Shunting-yard algorithm by to mela byt hracka. Keymaster K+
    Naposledy upravil monsoon; 08.12.2010 v 03:22.

    Fanless Experiment || Gigabyte Z77-DS3H | Intel i5-3570K | Thermalright HR-02 | 16G DDR3 | Sapphire HD 7750 Ultimate | Crucial M4 256GB | Seasonic X-400FL | Fractal Define R4
    Dell D430 || i945G | C2D 1.2G ULV | 2G DDR2 533 | GMA950 | 12" 1280x800 | 80G 4k2 | 802.3ab | 802.11g | 802.15.1 | HSDPA | Windows 7 x64
    Storage || i965G | E2200 | 4G DDR2 | RAID5 6x Samsung HD154UI 1.5TB - ~7TiB | 802.3ab ...powered by Ubuntu Server x64
    Accessories || E-MU Tracker Pre USB 2.0 | Meier Corda Headsix | Sony MDR-CD470 | Pioneer A-204R | Tesla ARS 9218 32 | LG 32LD350

    "Music is essentially useless, as life is." George Santayana


  4. #4

    Standardní Re: java > řetězec

    to je na mě poněku složité, v jave se nepohybuju dlouho. potřeboval bych poradit, něco s cyklava.atd. chtěl bych to udělat, tak že si zadanej výraz procházim cyklem a zjištůju o jaké operátory se jedná a u každého operátoru si vezmu předchozí a následující číslo u a poté vykonám danou operaci....

  5. #5
    Member Avatar uživatele Keymaster
    Založen
    18.01.2005
    Bydliště
    Přerov, Praha, Whatever...
    Příspěvky
    211
    Vliv
    253

    Standardní Re: java > řetězec

    ať to uděláš jakkoliv, začni lexikální analýzou, tj. vyparsuj z toho stringu sérii tokenů (číslo, operátor), jinak se z toho pos****š. Ale ten shunting yard je nejjednodušší, věř mi...

    Pokud jsi naprosto začátečník, tak jsi to buď dostal ve škole jako úkol, a seš v háji, protože ses měl líp učit, nebo to děláš jako soukromej projekt, takže máš možnost se na to buď vykašlat s tím že to zatím není nic pro tebe, nebo se do toho pustit a naučit se něco novýho
    4300 2997 | 2048 667 | 8600 256 | 640 7200 | 250 7200
    It is a scientifically proven fact, that use of English signatures at Czech discussion boards is sign of mental retardation :-p

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. [JAVA] java.lang.NoSuchMethodError: main
    Založil Magus v sekci fóra Programování
    Odpovědí: 4
    Poslední příspěvek: 02.11.2004, 16:41
  2. [Java, Win]Herout, Ucebnice jazyka Java - Riesene cvicenia
    Založil stanley v sekci fóra Programování
    Odpovědí: 3
    Poslední příspěvek: 29.03.2004, 12:15
  3. [java-linux] java.lang.NoClassDefFoundError - VYRESENO
    Založil KtK v sekci fóra Programování
    Odpovědí: 2
    Poslední příspěvek: 03.02.2004, 00:03
  4. Win XP a Java
    Založil TuKE v sekci fóra Programování
    Odpovědí: 10
    Poslední příspěvek: 22.10.2003, 15:02
  5. [Java]Mobilní java
    Založil Jurman v sekci fóra Programování
    Odpovědí: 3
    Poslední příspěvek: 05.07.2003, 16:23

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •