Java - závorky - zjištění párovosti ve stringu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Java - závorky - zjištění párovosti ve stringu – Java – Fórum – Programujte.comJava - závorky - zjištění párovosti ve stringu – Java – Fórum – Programujte.com

 

Laponec
~ Anonymní uživatel
1 příspěvek
23. 2. 2016   #1
-
0
-

Ahoj, potřeboval bych popostrčit s tímto úkolem. Vůbec si nevím rady. Budu moc vděčný za jakoukoliv pomoc.

Zadání:

Vaším úkolem je zapsat program, který bude kontrolovat párové závorky (okrouhlé, hranaté i složené) v zadaném textovém řetězci.

Specifikace vstupu

Textový řetězec, ve kterém má program provádět kontrolu začíná slovem  BEGIN a končí slovem END (psáno malými i velkými písmeny). Tato slova jsou od okolního textu oddělena libovolným nepísmenným znakem.

Specifikace výstupu

Pro zadaný vstupní textový řetězec má být na výstup vypsána hodnota 1 v případě, že zadaný vstup obsahuje párové závorky ve správném pořadí, nebo hodnota 0 v případě opačném.

vstup

begin  {[(45 + x) * (2x - 7)] + 5*(2x + 3)}end

výstup

1

Nahlásit jako SPAM
IP: 2001:718:1c01:164:dd33:2a...–
sleepy
~ Anonymní uživatel
422 příspěvků
23. 2. 2016   #2
-
0
-

a co takto skusit nieco take ako ( je +1 a ) -1, to iste pre [ a { ale budes to storovat do inej variably. Ak ti nakoniec vyjde 0 mas parove ztvorky ak nieco ine niekde je chyba.

Nahlásit jako SPAM
IP: 178.143.156.–
ondrej39+1
Věrný člen
24. 2. 2016   #3
-
0
-

#1 Laponec
A co už jsi sám naprogramoval, případně co ti na tvém kódu nejede? Toto fórum není generátor domácích úkolů, kde dumpneš zadání a čekáš na výsledek.

Nahlásit jako SPAM
IP: 78.156.159.–
Inject all the dependencies!
Petr
~ Anonymní uživatel
746 příspěvků
24. 2. 2016   #4
-
+1
-
Zajímavé

Psát to za tebe nebudu ale tento typ úlohy se standardně řeší pomocí tzv. zásobníkových automatů. Pro tvou úlohu ti stačí, když použiješ jeden zásobník (java.util.Stack). Algoritmus bude vypadat nějak takto:

1. budeš řetězec procházet po znacích
2. když narazíš na levou závorku (jedno jakou), tak ji uložíš na zásobník, když narazíš na pravou závorku tak ověříš, že je odpovídající levá závorka na vrcholu zásobníku, pokud ano levou závorku z vrcholu zásobníku odstraníš, pokud ne jedná se o chybu a vrátíš 0

3. pokud na konci procházení řetězce není zásobník prázdný, jedná se o chybu a vrátíš 0 jinak vrátíš 1

Nahlásit jako SPAM
IP: 83.240.112.–
Petr
~ Anonymní uživatel
746 příspěvků
24. 2. 2016   #5
-
0
-

#2 sleepy
to je špatný přístup, protože takto jen zkontroluješ počet závorek, nikoli jejich pořadí, takže výraz [(x + 1] * 2) by jsi vyhodnotil jako validní, ikdyž je špatně.

Nahlásit jako SPAM
IP: 83.240.112.–
sleepy
~ Anonymní uživatel
422 příspěvků
24. 2. 2016   #6
-
0
-

#5 Petr
To je pravda ja som mal podobnu vec napisanu len pre (). Ale to uz nechavam na OP. Zvalidovat to vo vnutri zatvoriek nie je az taky problem.

Nahlásit jako SPAM
IP: 78.141.104.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Ostré závorky — založil kolotoc

úloha závorky - pomoc — založil Veve

Psaní závorky v Eclipse — založil hza

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý