Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ155²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
Double£¬µ«ÔÚµ÷ÓõÄʱºò±ØÐëÓÃDouble¡¡´«µÝ¡£ÐÒÔ˵ÄÊÇ£¬Õâ¸öÎÊÌâÖ»´æÔÚÓÚ»ù±¾Êý¾ÝÀàÐÍÖм䡣¡¡¡¡
Àí½âÁ˾ßÌåµÄ¹ý³Ìºó£¬ÔÙÀ´´´½¨Ò»¸öжÔÏ󣬲¢ÇÒֻΪËüÌṩһ¸öClass¡¡¾ä±ú£¬ÊÂÇé¾Í±äµÃ·Ç³£¼òµ¥ÁË¡£¾Í¡¡
Ä¿Ç°µÄÇé¿öÀ´Ëµ£¬ÄÚ²¿Ñ»·ÖеÄreturn¡¡ÓÀÔ¶²»»áÖ´ÐУ¬ÎÒÃÇÔÚÖÕµã¾Í»áÍ˳ö¡£ÔÚÕâ¶ù£¬³ÌÐò¶¯Ì¬×°ÔØ¡¡Class¡¡
¶ÔÏ󣬲¢°ÑËü¼ÓÈë¡¡trashTypes¡¡£¨À¬»øÀàÐÍ£©ÁÐ±í£¬´Ó¶øÊÔͼ¾ÀÕýÕâ¸öÎÊÌâ¡£ÈôÈÔÈ»ÕÒ²»µ½ÕæÕýÓÐÎÊÌâµÄµØ¡¡
·½£¬Í¬Ê±×°ÔØÓÖÊdzɹ¦µÄ£¬ÄÇô¾ÍÖظ´µ÷ÓÃfactory¡¡·½·¨£¬ÖØÐÂÊÔÒ»±é¡£¡¡¡¡
ÕýÈç´ó¼Ò»á¿´µ½µÄÄÇÑù£¬ÕâÖÖÉè¼Æ·½°¸×î´óµÄÓŵã¾ÍÊDz»ÐèÒª¸Ä¶¯´úÂë¡£ÎÞÂÛÔÚʲôÇé¿öÏ£¬Ëü¶¼ÄÜÕý³£µØ¡¡
ʹÓ㨼ٶ¨ËùÓÐTrash¡¡×ÓÀ඼°üº¬ÁËÒ»¸ö¹¹½¨Æ÷£¬ÓÃÒÔ»ñÈ¡µ¥¸ö¡¡double¡¡²ÎÊý£©¡£¡¡¡¡
¡¡¡¡
1¡£¡¡Trash¡¡×ÓÀà¡¡¡¡
ΪÁËÓëÔÐÍ»úÖÆÏàÊÊÓ¦£¬¶ÔTrash¡¡Ã¿¸öÐÂ×ÓÀàΨһµÄÒªÇó¾ÍÊÇÔÚÆäÖаüº¬ÁËÒ»¸ö¹¹½¨Æ÷£¬Ö¸Ê¾Ëü»ñÈ¡Ò»¸ö¡¡
double¡¡²ÎÊý¡£Java¡¡1¡£1¡¡µÄ¡°·´É䡱»úÖƿɸºÔðʣϵÄËùÓй¤×÷¡£¡¡¡¡
ÏÂÃæÊDz»Í¬ÀàÐ͵ÄTrash£¬Ã¿ÖÖÀàÐͶ¼ÓÐËüÃÇ×Ô¼ºµÄÎļþÀµ«¶¼ÊôÓÚ¡¡Trash¡¡°üµÄÒ»²¿·Ö£¨Í¬ÑùµØ£¬ÎªÁË·½¡¡
±ãÔÚ±¾ÕÂÄÚÖظ´Ê¹Óã©£º¡¡¡¡
¡¡¡¡
//£º¡¡Aluminum¡£java¡¡¡¡¡¡
//¡¡The¡¡Aluminum¡¡class¡¡with¡¡prototyping¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡Aluminum¡¡extends¡¡Trash¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡double¡¡val¡¡=¡¡1¡£67f£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡599¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡601¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡public¡¡Aluminum£¨double¡¡wt£©¡¡£û¡¡super£¨wt£©£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡double¡¡value£¨£©¡¡£û¡¡return¡¡val£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡value£¨double¡¡newVal£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡val¡¡=¡¡newVal£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
//£º¡¡Paper¡£java¡¡¡¡¡¡
//¡¡The¡¡Paper¡¡class¡¡with¡¡prototyping¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡Paper¡¡extends¡¡Trash¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡double¡¡val¡¡=¡¡0¡£10f£»¡¡¡¡
¡¡¡¡public¡¡Paper£¨double¡¡wt£©¡¡£û¡¡super£¨wt£©£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡double¡¡value£¨£©¡¡£û¡¡return¡¡val£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡value£¨double¡¡newVal£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡val¡¡=¡¡newVal£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
//£º¡¡Glass¡£java¡¡¡¡¡¡
//¡¡The¡¡Glass¡¡class¡¡with¡¡prototyping¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡Glass¡¡extends¡¡Trash¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡double¡¡val¡¡=¡¡0¡£23f£»¡¡¡¡
¡¡¡¡public¡¡Glass£¨double¡¡wt£©¡¡£û¡¡super£¨wt£©£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡double¡¡value£¨£©¡¡£û¡¡return¡¡val£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡value£¨double¡¡newVal£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡val¡¡=¡¡newVal£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ÏÂÃæÊÇÒ»ÖÖеÄTrash¡¡ÀàÐÍ£º¡¡¡¡
¡¡¡¡
//£º¡¡Cardboard¡£java¡¡¡¡¡¡
//¡¡The¡¡Cardboard¡¡class¡¡with¡¡prototyping¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡Cardboard¡¡extends¡¡Trash¡¡£û¡¡¡¡
¡¡¡¡private¡¡static¡¡double¡¡val¡¡=¡¡0¡£23f£»¡¡¡¡
¡¡¡¡public¡¡Cardboard£¨double¡¡wt£©¡¡£û¡¡super£¨wt£©£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡double¡¡value£¨£©¡¡£û¡¡return¡¡val£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡value£¨double¡¡newVal£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡val¡¡=¡¡newVal£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¿ÉÒÔ¿´³ö£¬³ý¹¹½¨Æ÷ÒÔÍ⣬ÕâЩÀà¸ù±¾Ã»ÓÐʲôÌرðµÄµØ·½¡£¡¡¡¡
¡¡¡¡
2¡£¡¡´ÓÍⲿÎļþÖнâÎö³öTrash¡¡¡¡
ÓëTrash¡¡¶ÔÏóÓйصÄÐÅÏ¢½«´ÓÒ»¸öÍⲿÎļþÖжÁÈ¡¡£Õë¶ÔTrash¡¡µÄÿ¸ö·½Ã棬ÎļþÄÚÁгöÁËËùÓбØÒªµÄÐÅ¡¡
Ï¢¡ª¡ªÃ¿Ðж¼´ú±íÒ»¸ö·½Ã棬²ÉÓá°À¬»ø£¨·ÏÆ·£©Ãû³Æ£ºÖµ¡±µÄ¹Ì¶¨¸ñʽ¡£ÀýÈ磺¡¡¡¡
¡¡¡¡
c16¡£Trash¡£Glass£º54¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡600¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡602¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
c16¡£Trash¡£Paper£º22¡¡¡¡
c16¡£Trash¡£Paper£º11¡¡¡¡
c16¡£Trash¡£Glass£º17¡¡¡¡
c16¡£Trash¡£Aluminum£º89¡¡¡¡
c16¡£Trash¡£Paper£º88¡¡¡¡
c16¡£Trash¡£Aluminum£º76¡¡¡¡
c16¡£Trash¡£Cardboard£º96¡¡¡¡
c16¡£Trash¡£Aluminum£º25¡¡¡¡
c16¡£Trash¡£Aluminum£º34¡¡¡¡
c16¡£Trash¡£Glass£º11¡¡¡¡
c16¡£Trash¡£Glass£º68¡¡¡¡
c16¡£Trash¡£Glass£º43¡¡¡¡
c16¡£Trash¡£Aluminum£º27¡¡¡¡
c16¡£Trash¡£Cardboard£º44¡¡¡¡
c16¡£Trash¡£Aluminum£º18¡¡¡¡
c16¡£Trash¡£Paper£º91¡¡¡¡
c16¡£Trash¡£Glass£º63¡¡¡¡
c16¡£Trash¡£Glass£º50¡¡¡¡
c16¡£Trash¡£Glass£º80¡¡¡¡
c16¡£Trash¡£Aluminum£º81¡¡¡¡
c16¡£Trash¡£Cardboard£º12¡¡¡¡
c16¡£Trash¡£Glass£º12¡¡¡¡
c16¡£Trash¡£Glass£º54¡¡¡¡
c16¡£Trash¡£Aluminum£º36¡¡¡¡
c16¡£Trash¡£Aluminum£º93¡¡¡¡
c16¡£Trash¡£Glass£º93¡¡¡¡
c16¡£Trash¡£Paper£º80¡¡¡¡
c16¡£Trash¡£Glass£º36¡¡¡¡
c16¡£Trash¡£Glass£º12¡¡¡¡
c16¡£Trash¡£Glass£º60¡¡¡¡
c16¡£Trash¡£Paper£º66¡¡¡¡
c16¡£Trash¡£Aluminum£º36¡¡¡¡
c16¡£Trash¡£Cardboard£º22¡¡¡¡
×¢ÒâÔÚ¸ø¶¨ÀàÃûµÄʱºò£¬Àà·¾¶±ØÐë°üº¬ÔÚÄÚ£¬·ñÔò¾ÍÕÒ²»µ½Àà¡£¡¡¡¡
Ϊ½âÎöËü£¬Ã¿Ò»ÐÐÄÚÈݶ¼»á¶ÁÈ룬²¢ÓÃ×Ö´®·½·¨¡¡indexOf£¨£©À´½¨Á¢¡°£º¡±µÄÒ»¸öË÷Òý¡£Ê×ÏÈÓÃ×Ö´®·½·¨¡¡
substring£¨£©È¡³öÀ¬»øµÄÀàÐÍÃû³Æ£¬½Ó×ÅÓÃÒ»¸ö¾²Ì¬·½·¨¡¡Double¡£valueOf£¨£©È¡µÃÏàÓ¦µÄÖµ£¬²¢×ª»»³ÉÒ»¸ö¡¡
doubleÖµ¡£trim£¨£©·½·¨ÔòÓÃÓÚɾ³ý×Ö´®Á½Í·µÄ¶àÓà¿Õ¸ñ¡£¡¡¡¡
Trash¡¡½âÎöÆ÷ÖÃÈëµ¥¶ÀµÄÎļþÖУ¬ÒòΪ±¾Õ½«²»¶ÏµØÓõ½Ëü¡£ÈçÏÂËùʾ£º¡¡¡¡
¡¡¡¡
//£º¡¡ParseTrash¡£java¡¡¡¡¡¡
//¡¡Open¡¡a¡¡file¡¡and¡¡parse¡¡its¡¡contents¡¡into¡¡¡¡
//¡¡Trash¡¡objects£»¡¡placing¡¡each¡¡into¡¡a¡¡Vector¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
import¡¡java¡£io¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡ParseTrash¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡¡¡¡¡
¡¡¡¡fillBin£¨String¡¡filename£»¡¡Fillable¡¡bin£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader¡¡data¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedReader£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡601¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡603¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡FileReader£¨filename£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡String¡¡buf£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡while£¨£¨buf¡¡=¡¡data¡£readLine£¨£©£©£¡=¡¡null£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡type¡¡=¡¡buf¡£substring£¨0£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡buf¡£indexOf£¨'£º'£©£©¡£trim£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡double¡¡weight¡¡=¡¡Double¡£valueOf£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡buf¡£substring£¨buf¡£indexOf£¨'£º'£©¡¡£«¡¡1£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£trim£¨£©£©¡£doubleValue£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡bin¡£addTrash£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Trash¡£factory£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Trash¡£Info£¨type£»¡¡weight£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡data¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨IOException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨Exception¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡Special¡¡case¡¡to¡¡handle¡¡Vector£º¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡¡¡¡¡
¡¡¡¡fillBin£¨String¡¡filename£»¡¡Vector¡¡bin£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡fillBin£¨filename£»¡¡new¡¡FillableVector£¨bin£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
ÔÚRecycleA¡£java¡¡ÖУ¬ÎÒÃÇÓÃÒ»¸öVector¡¡ÈÝÄÉTrash¡¡¶ÔÏó¡£È»¶ø£¬Òà¿É¿¼ÂDzÉÓÃÆäËû¼¯ºÏÀàÐÍ¡£Îª×öµ½ÕâÒ»¡¡
µã£¬fillBin£¨£©µÄµÚÒ»¸ö°æ±¾½«»ñÈ¡Ö¸ÏòÒ»¸ö¡¡Fillable¡¡µÄ¾ä±ú¡£ºóÕßÊÇÒ»¸ö½Ó¿Ú£¬ÓÃÓÚÖ§³ÖÒ»¸öÃûΪ¡¡
addTrash£¨£©µÄ·½·¨£º¡¡¡¡
¡¡¡¡
//£º¡¡Fillable¡£java¡¡¡¡¡¡
//¡¡Any¡¡object¡¡that¡¡can¡¡be¡¡filled¡¡with¡¡Trash¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
¡¡¡¡
public¡¡interface¡¡Fillable¡¡£û¡¡¡¡
¡¡¡¡void¡¡addTrash£¨Trash¡¡t£©£»¡¡¡¡
£ý¡¡///£º~¡¡¡¡
Ö§³Ö¸Ã½Ó¿ÚµÄËùÓж«Î÷¶¼ÄÜ°éËæfillBin¡¡Ê¹Óᣵ±È»£¬Vector¡¡²¢Î´ÊµÏÖFillable¡¡£¬ËùÒÔËü²»Äܹ¤×÷¡£ÓÉÓÚ¡¡
Vector¡¡½«ÔÚ´ó¶àÊýÀý×ÓÖÐÓ¦Óã¬ËùÒÔ×îºÃµÄ×ö·¨ÊÇÌí¼ÓÁíÒ»¸ö¹ýÔصġ¡fillBin£¨£©·½·¨£¬ÁîÆäÒÔÒ»¸ö¡¡Vector¡¡×÷¡¡
Ϊ²ÎÊý¡£ÀûÓÃÒ»¸öÊÊÅäÆ÷£¨Adapter£©À࣬Õâ¸öVector¡¡¿É×÷Ϊһ¸ö¡¡Fillable¡¡¶ÔÏóʹÓ㺡¡¡¡
¡¡¡¡
//£º¡¡FillableVector¡£java¡¡¡¡¡¡
//¡¡Adapter¡¡that¡¡makes¡¡a¡¡Vector¡¡Fillable¡¡¡¡
package¡¡c16¡£trash£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡FillableVector¡¡implements¡¡Fillable¡¡£û¡¡¡¡
¡¡¡¡private¡¡Vector¡¡v£»¡¡¡¡
¡¡¡¡public¡¡FillableVector£¨Vector¡¡vv£©¡¡£û¡¡v¡¡=¡¡vv£»¡¡£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡addTrash£¨Trash¡¡t£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡v¡£addElement£¨t£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡602¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡604¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¿ÉÒÔ¿´µ½£¬Õâ¸öÀàΨһµÄÈÎÎñ¾ÍÊǸºÔ𽫡¡Fillable¡¡µÄaddTrash£¨£©Í¬Vector¡¡µÄaddElement£¨£©·½·¨Á¬½ÓÆðÀ´¡£¡¡
ÀûÓÃÕâ¸öÀ࣬ÒѹýÔصġ¡fillBin£¨£©·½·¨¿ÉÔÚParseTrash¡£java¡¡ÖаéËæÒ»¸öVector¡¡Ê¹Ó㺡¡¡¡
¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡¡¡¡¡
¡¡¡¡fillBin£¨String¡¡filename£»¡¡Vector¡¡bin£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡fillBin£¨filename£»¡¡new¡¡FillableVector£¨bin£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡
ÕâÖÖ·½°¸ÊÊÓÃÓÚÈκÎƵ·±Óõ½µÄ¼¯ºÏÀà¡£³ý´ËÒÔÍ⣬¼¯ºÏÀ໹¿ÉÌṩËü×Ô¼ºµÄÊÊÅäÆ÷À࣬²¢ÊµÏÖ¡¡Fillable¡¡
¡¡£¨ÉÔºó¼´¿É¿´µ½£¬ÔÚDynaTrash¡£java¡¡ÖУ©¡£¡¡¡¡
¡¡¡¡
3¡£¡¡ÔÐÍ»úÖƵÄÖظ´Ó¦Óá¡¡¡
ÏÖÔÚ£¬´ó¼Ò¿ÉÒÔ¿´µ½²ÉÓÃÔÐͼ¼ÊõµÄ¡¢ÐÞ¶©¹ýµÄRecycleA¡£java¡¡°æ±¾ÁË£º¡¡¡¡
¡¡¡¡
//£º¡¡RecycleAP¡£java¡¡¡¡¡¡
//¡¡Recycling¡¡with¡¡RTTI¡¡and¡¡Prototypes¡¡¡¡
package¡¡c16¡£recycleap£»¡¡¡¡
import¡¡c16¡£trash¡£*£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡RecycleAP¡¡£û¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Vector¡¡bin¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Fill¡¡up¡¡the¡¡Trash¡¡bin£º¡¡¡¡
¡¡¡¡¡¡¡¡ParseTrash¡£fillBin£¨¡¨Trash¡£dat¡¨£»¡¡bin£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Vector¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡glassBin¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡paperBin¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡alBin¡¡=¡¡new¡¡Vector£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Enumeration¡¡sorter¡¡=¡¡bin¡£elements£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Sort¡¡the¡¡Trash£º¡¡¡¡
¡¡¡¡¡¡¡¡while£¨sorter¡£hasMoreElements£¨£©£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Object¡¡t¡¡=¡¡sorter¡£nextElement£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡RTTI¡¡to¡¡show¡¡class¡¡membership£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨t¡¡instanceof¡¡Aluminum£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡alBin¡£addElement£¨t£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨t¡¡instanceof¡¡Paper£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡paperBin¡£addElement£¨t£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨t¡¡instanceof¡¡Glass£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡glassBin¡£addElement£¨t£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡Trash¡£sumValue£¨alBin£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Trash¡£sumValue£¨paperBin£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Trash¡£sumValue£¨glassBin£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Trash¡£sumValue£¨bin£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ËùÓÐTrash¡¡¶ÔÏ󡪡ªÒÔ¼°ParseTrash¡¡¼°Ö§³ÅÀࡪ¡ªÏÖÔÚ¶¼³ÉΪÃûΪc16¡£trash¡¡µÄÒ»¸ö°üµÄÒ»²¿·Ö£¬ËùÒÔËüÃÇ¡¡
¿ÉÒÔ¼òµ¥µØµ¼Èë¡£¡¡¡¡
ÎÞÂÛ´ò¿ª°üº¬ÁË¡¡Trash¡¡ÃèÊöÐÅÏ¢µÄÊý¾ÝÎļþ£¬»¹ÊǶÔÄǸöÎļþ½øÐнâÎö£¬ËùÓÐÉæ¼°µ½µÄ²Ù×÷¾ùÒÑ·â×°µ½¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡603¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡605¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
static¡¡£¨¾²Ì¬£©·½·¨ParseTrash¡£fillBin£¨£©Àï¡£ËùÒÔËüÏÖÔÚÒѾ²»ÊÇÎÒÃÇÉè¼Æ¹ý³ÌÖÐҪעÒâµÄÒ»¸öÖص㡣ÔÚ¡¡
±¾ÕÂÊ£ÓàµÄ²¿·Ö£¬´ó¼Ò¾³£¶¼»á¿´µ½ÎÞÂÛÌí¼ÓµÄÊÇʲôÀàÐ͵ÄÐÂÀ࣬ParseTrash¡£fillBin£¨£©¶¼»á³ÖÐø¹¤×÷£¬¡¡
²»»á·¢Éú¸Ä±ä£¬ÕâÎÞÒÉÊÇÒ»ÖÖÓÅÁ¼µÄÉè¼Æ·½°¸¡£¡¡¡¡
Ìáµ½¶ÔÏóµÄ´´½¨£¬ÕâÒ»·½°¸È·ÊµÒѽ«ÐÂÀàÐͼÓÈëϵͳËùÐèµÄ±ä¶¯ÑϸñµØ¡°±¾µØ»¯¡±ÁË¡£µ«ÔÚʹÓá¡RTTI¡¡µÄ¹ý³Ì¡¡
ÖУ¬È´´æÔÚ×ÅÒ»¸öÑÏÖصÄÎÊÌ⣬ÕâÀïÒÑÃ÷È·µØÏÔ¶³öÀ´¡£³ÌÐò±íÃæÉϹ¤×÷µÃºÜºÃ£¬µ«È´ÓÀÔ¶Õì²âµ½²»ÄÜ¡°Ó²¡¡
Ö½°å¡±£¨Cardboard£©ÕâÖÖеķÏÆ·ÀàÐÍ¡ª¡ª¼´Ê¹ÁбíÀïȷʵÓÐÒ»¸öÓ²Ö½°åÀàÐÍ£¡Ö®ËùÒÔ»á³öÏÖÕâÖÖÇé¿ö£¬Íê¡¡
È«ÊÇÓÉÓÚʹÓÃÁËRTTI¡¡µÄÔµ¹Ê¡£RTTI¡¡Ö»»á²éÕÒÄÇЩÎÒÃǸæËßËü²éÕҵĶ«Î÷¡£RTTI¡¡ÔÚÕâÀï´íÎóµÄÓ÷¨ÊÇ¡°ÏµÍ³¡¡
ÖеÄÿÖÖÀàÐÍ¡±¶¼½øÐÐÁ˲âÊÔ£¬¶ø²»Êǽö²âÊÔÒ»ÖÖÀàÐÍ»òÕßÒ»¸öÀàÐÍ×Ó¼¯¡£ÕýÈç´ó¼ÒÒÔºó»á¿´µ½µÄÄÇÑù£¬ÔÚ¡¡
²âÊÔÿһÖÖÀàÐÍʱ¿É»»ÓÃÆäËû·½Ê½À´ÔËÓöàÐÎÐÔÌØÕ÷¡£µ«¼ÙÈçÒÔÕâÖÖÐÎʽ¹ý¶àµØʹÓá¡RTTI£¬¶øÇÒÓÖÔÚ×Ô¼ºµÄ¡¡
ϵͳÀïÌí¼ÓÁËÒ»ÖÖÐÂÀàÐÍ£¬ºÜÈÝÒ׾ͻáÍü¼ÇÔÚ³ÌÐòÀï×÷³öÊʵ±µÄ¸Ä¶¯£¬´Ó¶øÂñÏÂÒÔºóÄÑÒÔ·¢Ïֵġ¡Bug¡£Òò¡¡
´Ë£¬ÔÚÕâÖÖÇé¿öϱÜÃâʹÓÃRTTI¡¡ÊǺÜÓбØÒªµÄ£¬Õâ²¢²»½ö½öÊÇΪÁ˱íÃæºÃ¿´¡ª¡ªÒ²ÊÇΪÁ˲úÉú¸üÒ×ά»¤µÄ´ú¡¡
Âë¡£¡¡¡¡
16¡£5¡¡³éÏóµÄÓ¦Óá¡¡¡
×ßµ½ÕâÒ»²½£¬½ÓÏÂÀ´¸Ã¿¼ÂÇÒ»ÏÂÉè¼Æ·½°¸Ê£ÏµIJ¿·ÖÁË¡ª¡ªÔÚÄÄÀïʹÓÃÀࣿ¼ÈÈ»¹éÀൽÀ¬»øÏäµÄ°ì·¨·Ç³£²»¡¡
ÑÅÇÒ¹ýÓÚ±©Â¶£¬ÎªÊ²Ã´²»¸ôÀëÄǸö¹ý³Ì£¬°ÑËüÒþ²Øµ½Ò»¸öÀàÀïÄØ£¿Õâ¾ÍÊÇÖøÃûµÄ¡°Èç¹û±ØÐë×ö²»ÑŵÄÊÂÇ飬¡¡
ÖÁÉÙÓ¦½«Æä±¾µØ»¯µ½Ò»¸öÀàÀ¹æÔò¡£¿´ÆðÀ´¾ÍÏóÏÂÃæÕâÑù£º¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
ÏÖÔÚ£¬Ö»ÒªÒ»ÖÖÐÂÀàÐ͵ÄTrash¡¡¼