AWT/SWING
2015.08.04 / 22:30

[Java] °è»ê±â ÇÁ·Î±×·¥

ÄÚ¸£µµ¹Ù
Ãßõ ¼ö 545
°è»ê±â ÇÁ·Î±×·¥¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

°è»ê±â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§,°¡Àå ³­ÇØÇÏ´Ù°í »ý°¢µÇ´Â ºÎºÐÀÌ ÁßÀ§Ç¥±â¹ý¿¡¼­ ÈÄÀ§Ç¥±â¹ýÀ¸·Î º¯È¯À» ÇÒ ¶§¶ó°í »ý°¢ÇÕ´Ï´Ù.
ÁßÀ§ Ç¥±â¹ýÀº ¹«¾ùÀ̳İí Çϸé, ¿ì¸®°¡ ÀÏ»ó »ýÈ°¿¡¼­ »ç¿ëÇÏ´Â ¼ýÀÚ ½Ä1 + 5 * 2 = ÀÌ·± °ÍÀ» ÁßÀ§ Ç¥Çö ½ÄÀ̶ó°í ÇÏ°í ÈÄÀ§ Ç¥±â ½ÄÀº ÄÄÇ»ÅÍ°¡ ÀνÄÇϱ⠽±°Ô º¯ÇüÇÑ 152*+ = ÀÌ·± ½ÄÀ¸·Î º¯È¯ ÇÑ °ÍÀÌ ÈÄÀ§ Ç¥±â½ÄÀ̶ó°í ÇÕ´Ï´Ù.

¿Ö ÀÌ·± ½ÄÀ¸·Î º¯È¯À» ÇØ¾ß ÇÏ³Ä°í ¹°¾îº¸¸é ¿ì¸®°¡ »çÁ÷ ¿¬»êÀ» ÇÒ ¶§¿¡ ´ç¿¬È÷ * / ¸ÕÀú ó¸®ÇÏ°í + - À» ó¸®ÇÑ´Ù ¶ó´Â ¼ø¼­¸¦ ¾Ë°í ÀÖ½À´Ï´Ù. Áï 1 + 5 * 2 ¶ó°í °è»êÀ» Çϸé ÀÚ¿¬½º·´°Ô 11À̶ó´Â °ªÀÌ ³ª¿À´Â °ÍÀÌÁö¿ä.

±×·¸´Ù¸é ÄÄÇ»Å͵µ ÀÌ·¸°Ô * / ¸¦ ¸ÕÀú °è»êÇÏ°í + - ¸¦ °è»êÇÏ°Ô ÇØ¾ß Çϴµ¥.
ÄÄÇ»ÅÍÀÇ Ã³¸® ½ÄÀº À§¿¡¼­ ¾Æ·¡·Î È帣±â ¶§¹®¿¡ »çÄ¢¿¬»êÀÇ ¼ø¹øÀ¸·Î °è»êÇϱâ Èûµì´Ï´Ù. ±×·¡¼­ ÈÄÀ§ Ç¥±â ½ÄÀ¸·Î º¯È¯À» Çؼ­ °è»êÀ» ÇÕ´Ï´Ù.
152*+ ½ÄÀ¸·Î º¯È¯À» ÇÏ°Ô µÇ¸é ¿¬»ê±âÈ£°¡ ³ª¿Ã ¶§±îÁö skip skip ÇÏ´Ù°¡ ¿¬»ê±âÈ£°¡ ³ª¿À¸é ¾ÕÀÇ µÎ ¼ö¿ÍÀÇ °è»êÀ» ó¸®ÇÏ°í ¶Ç ¿¬»êÀÚ°¡ ³ª¿À¸é ¾ÕÀÇ ½ÄÀ» ó¸®ÇÏ´Â ½ÄÀ¸·Î º¯È¯À» ÇÏ´Â °Í ÀÔ´Ï´Ù.
Áï *°¡ ³ª¿À±â ÀüÀÇ µÎ¼ö 5 2¸¦ °öÇÏ°í 1 10 +½ÄÀ¸·Î µÇ¸é ´Ù½Ã °è»êÀ» Çؼ­ 11À̶ó´Â °ªÀ» µµÃâ ÇÏ´Â °ÍÀÔ´Ï´Ù.

ÀÌ°Ô ±âº»ÀûÀÎ °è»ê±â ½ÄÀÔ´Ï´Ù.
¿ì¸®´Â ¿©±â¿¡ pow, round µîÀÇ ÇÔ¼ö ½ÄÀ» Ãß°¡ Çغ¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
Pow ¶ó´Â ÇÔ¼ö ½ÄÀ» »ç¿ëÇÒ ¶§´Â pow(2,2) ´Â Áï 2ÀÇ 2½ÂÀ̶ó´Â 4¶ó´Â °ªÀÌ ³ª¿É´Ï´Ù. ¿©±â¿¡¼­ »ç¿ëµÇ´Â ,(½±Ç¥)¸¦ ¿¬»ê±âÈ£·Î µî·ÏÀ» Çؼ­ )°¡ ³ª¿Ã ¶§±îÁöÀÇ °ªÀ» °è»êÀ» Çؼ­ Á¦°öÀ» ÇÏ´Â ½ÄÀ¸·Î º¯È¯À» ÇÏ°Ú½À´Ï´Ù.

¼³¸í¿¡ ¾Õ ½á ÇÁ·Î±×·¥À» ÀÛ¼ºÀ» ÇØ ³õ¾Ò±â ¶§¹®¿¡ ¼Ò½º ÄÚµå·Î È®ÀÎÇØ º¸°Ú½À´Ï´Ù.

À̹ÌÁö


À̹ÌÁö


À̹ÌÁö


À̹ÌÁö


À̹ÌÁö


À̹ÌÁö


Calculator.zip 

¼Ò½º°¡ ²Ï ±â³×¿ä¡¦ ±×·³ ÇϳªÇϳª ¼³¸í µé¾î °¡°Ú½À´Ï´Ù. ¸ÕÀú ÃʱâÈ­´Â µðÀÚÀÎ ÆÐÅÏÀÇ ½Ì±ÛÅæÀ» ¾à°£(?) ÀÀ¿ëÀ» Çؼ­ ¼±¾ðÀ» ÇÏ¿´½À´Ï´Ù.
½ÃÀÛÀº Calculate ÇÔ¼ö¸¦ °ÅÃÄ Calc ÇÔ¼ö°¡ È£Ã⠵ǰڽÀ´Ï´Ù.
°Å±â ¾È¿¡¼­ makeTokens , convertPostOrder ÇÔ¼ö°¡ ºÒ·Á¼­ calcPostOrder ÇÔ¼ö·Î ÃÖÁ¾ °è»êÀÌ µÇ°Ú½À´Ï´Ù.
makeTokens ÀÇ ÇÔ¼öÀÇ ¿ªÇÒÀº ¹®ÀåÀÌ ¿ÔÀ» ¶§ÀÇ °¢ ¹®ÀÚÀÇ ±¸ºÐÀ» ¸¸µå´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é 15 + 2 *3 À̶ó´Â ±ÛÀÚ°¡ µé¾î¿À¸é 15,+,2,*,3 ÀÌ·± ½ÄÀ¸·Î ¿ÀºêÁ§Æ®¸¦ ¸¸µå´Â °ÍÀÔ´Ï´Ù. ¿©±â¼­ÀÇ Å° Æ÷ÀÎÆ®´Â ¼ýÀÚÀÇ °æ¿ì´Â ÇÑÀÚ¸´¼ö, µÎÀÚ¸´¼öÀÇ ±¸ºÐÀÌ Áß¿äÇÕ´Ï´Ù. ±×·¸°Ô ¿ÀºêÁ§Æ®¸¦ ³ª´©¾î¼­ convertPostOrder ÇÔ¼ö¿¡¼­ ÈÄÀ§ Ç¥±â ½ÄÀ¸·Î ÀüȯÀ» ÇÕ´Ï´Ù. ¿©±â¿¡¼­ Áß¿äÇÑ Á¡Àº °ýÈ£ ()¾ÈÀÇ °è»ê ¼ø¼­, »çÄ¢¿¬»êÀÇ ¼ø¼­°Ú³×¿ä¡¦
ÁßÀ§¿¡¼­ ÈÄÀ§·Î º¯°æÇÒ ¶§´Â Stack¸¦ ÀÌ¿ëÇÏ¿© ¼ø¼­¸¦ ¸¸µì´Ï´Ù.. 
ÀÌ ÇÁ·Î±×·¥ÀÇ Å° Æ÷ÀÎÆ®ÀÇ ÇÔ¼ö(exprAppend) °¡ ÀÌ ¶§ 󸮰¡ µË´Ï´Ù.

ÀÌ·± ½ÄÀ¸·Î µé¾î°¡ ÀÖ´Â list¿¡ Ãʹݿ¡ À̾߱â Çß´ø ÈÄÀ§ Ç¥±â½Ä ¼ø¼­ÀÇ °è»ê¹ýÀ¸·Î ó¸® ÇÏ¸é °ªÀÌ ³ª¿À?½À´Ï´Ù.

À̹ÌÁö


À̹ÌÁö


5+2*3 Àº 11ÀÌ ³ª¿À°í (5+2)*3Àº 21ÀÌ ³ª¿À³×¿ä..

À̹ÌÁö


¿À´ÃÀº ¿©±â±îÁö ÀÔ´Ï´Ù.