ÀÚ¹Ù ÇÁ·ÎÁ§Æ® °è»ê±â
<½ºÅÃÀ¸·ÎºÎÅÍ ÀڷḦ °¡Á®¿Â ¸ð½À>
<Á¤ÀÇµÈ ¿¬»ê ¼öÇà ÈÄ °¡Àå µÚ¿¡ ÀúÀåµÈ ¸ð½À>
<0¹ø¿¡ ÀÖ´ø µ¥ÀÌÅÍ°¡ 2¹øÀ¸·Î °£ ¸ð½À>
<°è»ê°á°ú°¡ ÀúÀåµÈ ¸ð½À>
<°è»ê±âÀÇ Àüü ¸ð½À>
(PostFixÀÇ ±¸Çö)
(°á°úÀÇ ±¸Çö)
- ÀڷᱸÁ¶¸¦ ÀÌ¿ëÇÑ °è»ê±â
À̹ø ÇÁ·ÎÁ§Æ®ÀÎ °è»ê±â¸¦ ¸¸µé±â À§Çؼ Á¤¸» ¸¹Àº ½Ã°£°ú ³ë·ÂÀ» ÅõÀÚ ÇÏ¿´½À´Ï´Ù. Á¦°¡ ¸¸µç °è»ê±âÀÇ °¡Àå Ä¿´Ù¶õ Ư¡Àº ¹Ù·Î ÀڷᱸÁ¶¸¦ ÀÌ¿ëÇß´Ù´Â °Í ÀÔ´Ï´Ù. ¹°·Ð ¾ÆÁ÷ ±×ÂÊ¿¡ ´ëÇؼ± ÀüÇô ¹è¿öº»¹Ù°¡ ¾øÁö¸¸ ¿ì¸®°¡ °øºÎÇÏ´Â ±³°ú¼¿¡ ½ºÅðú Å¥¿¡ °üÇÑ ¾ð±ÞÀÌ ÀÖ¾î¼ ±×°÷¿¡ ¸í½ÃÇÑ Æ¯¼º´ë·Î ½ºÅðú Å¥¸¦ ¸¸µé¾î º¸¾Ò½À´Ï´Ù.
¿ì¼± Á¦°¡ ¸¸µç °è»ê±â¿¡ ´ëÇØ ¼Ò°³ÇÏ°Ú½À´Ï´Ù. ¸ÕÀú °£´ÜÇÑ ±¸¼ºÀ» »ìÆ캸¸é Á¦°¡ ¸¸µç °è»ê±â´Â Å¥¿¡ ÇØ´çÇÏ´Â ¿ªÇÒÀ» ÇÏ´Â QueData, ½ºÅÿ¡ ÇØ´çÇÏ´Â ¿ªÇÒÀ» ÇÏ´Â StackData, ±×¸®°í °è»ê±âÀÇ Àü¹ÚÀû ¿ªÇÒÀ» ¼öÇàÇÏ´Â Calculator, ÀÌ·¸°Ô ¼¼ °³ÀÇ Å¬·¡½º·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù.
QueData´Â ¸ðµÎ 10°³ÀÇ ¸Þ¼Òµå·Î ÀÌ·ç¾îÁ® ÀÖ¡¦(»ý·«)
|
¸ð½À>
ÀÌ·¸°Ô ÇÏ¿©¼ °á°ú°ªÀÌ Que¿¡ ÀúÀåµÇ¾î Àִµ¥ ¸¸¾à Que¿¡ ÀÚ·á°¡ Çϳª¹Û¿¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é ±×°Ç ¸ðµç °è»êÀÌ ³¡³°É ÀǹÌÇϹǷΠ°á°ú¸¦ Ãâ·ÂÇÏ°Ô µË´Ï´Ù.
¿©±â±îÁö°¡ Á¦°¡ ¸¸µç °è»ê±âÀÇ ÇÙ½É ¾Ë°í¸®Áò ÀÔ´Ï´Ù.
<°è»ê±âÀÇ Àüü ¸ð½À>
»ç¿ëµÈ ·¹À̾ƿôÀº BorderLayout°ú GridLayout ÀÔ´Ï´Ù. ÀÌ°÷¿¡´Â ¸ðµÎ 4°³ÀÇ ÆгÎÀÌ Àִµ¥ ¼ýÀÚ¹öÆ°ÀÌ ÀÖ´Â ÆгÎÀº BorderLayoutÀÇ west¿¡ »çÄ¢¿¬»ê ±âÈ£°¡ Àִ°÷Àº BorderLayoutÀÇ Center¿¡ ±×¸®°í »ï°¢ÇÔ¼ö ±âÈ£°¡ Àִ°÷Àº BorderLayoutÀÇ east¿¡ À§Ä¡½ÃÄ×°í °á°úâ°ú ÀÔ·Ââ PostFixâÀÌ ³ª¿À´Â°÷Àº BorderLayoutÀÇ North¿¡ À§Ä¡½ÃÄ×½À´Ï´Ù.
À̹ø ÇÁ·ÎÁ§Æ® ¿¡¼´Â °è»ê±â¸¦ µðÀÚÀÎ Çϴ°ͺ¸´Ù °è»ê±â ³»ºÎÀûÀ¸·Î ¼öÇàµÇ´Â µ¿ÀÛ¿¡ ÃÊÁ¡ÀÌ ¸ÂÃß¾îÁ® Àֱ⠶§¹®¿¡ ¿ÜºÎÀû µðÀÚÀÎÀº default·Î »ç¿ëÇÏ¿´½À´Ï´Ù.
(PostFixÀÇ ±¸Çö)
Introduction¿¡ ÀúÀÇ ¾Ë°í¸®Áò°ú °è»ê±âÀÇ ·¹À̾ƿôÀ» ¼³¸íÇØ µÎ¾ú°í Implementation ÆÄÆ®¿¡¼´Â ¾Ë°í¸®ÁòÀ» ¾î¶»°Ô ½ÇÁ¦ ÄÚµå·Î ±¸ÇöÇÏ¿´´ÂÁö ¼³¸íÇÏ°Ú½À´Ï´Ù.
¿ì¼± PostFix¸¦ ¸¸µå´Â °úÁ¤ºÎÅÍ ¼³¸íÇÏ°Ú½À´Ï´Ù.
»ç¿ëÀÚ°¡ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀ» ³¡³»°í = ¹öÆ°À» Ŭ¸¯ÇÏ¸é ¹Ù·Î ÀÔ·ÂÇÑ µ¥ÀÌÅ͸¦ °¡Á®¿À°Ô µÇ°í
Stack¿¡ ¾ó¸¶¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒÁö¸¦ °áÁ¤ÇÏ°Ô µË´Ï´Ù.
//»ý·«..
String nToken; // ÅäÅ«À» Çϳª¾¿ ¹Þ¾Æ¿Í¼ ÀúÀåÇÒ·Á°í..
StringTokenizer parser;
parser = new StringTokenizer(inputData,"+-*/^%~sctprl()",true);
int num = parser.countTokens(); // °¢ ¿ø¼Ò °¹¼ö¸¦ ¾Ë¾Æ³¿.
StackData mainStack = new StackData(num); // ½ÇÁ¦·Î ÇÊ¿äÇÑ ½ºÅÃÀÚ·áÀúÀå
StackData tem