java eval
½ñÌìһͬѧ×ö¶«Î÷ÒªÓÃÕâ¸ö¶«¶«,¾Í°ïËûдÁËÒ»¸ö,ÏÈת»¯³Éºó׺±í´ïʽ,È»ºóÔÙ
¼ÆËã.µ±È»Ò²¿ÉÒÔÖ±½Ó¼ÆËãÖÐ׺±í´ïʽ,¿¼Âǵ½Òª¶àλÊý,¾ÍûÄÇô×ö.
Ö§³Ö¶àλÊýµÄ´øÀ¨ºÅµÄÕûÊýµÄ¼Ó¼õ³Ë³ý.
Java
´úÂë
package
edu.jlu.fuliang;
import
java
.util.ArrayList;
import
java
.util.List;
import
java
.util.Stack;
public
class
Eval
{
public
int
eval
(String exp){
List<String> list = infixExpToPostExp(exp);//ת»¯³Éºó׺±í´ïʽ
return
doEval(list);
//ÕæÕýÇóÖµ
}
//Óöµ½²Ù×÷·ûѹջ£¬Óöµ½±í´ïʽ´Óºó׺±í´ïʽÖе¯³öÁ½¸öÊý£¬¼ÆËã³ö½á¹û£¬Ñ¹Èë¶ÑÕ»
private
int
doEval(List<String> list) {
Stack<String> stack = new
Stack<String>();
String element;
int
n1,n2,result;
try
{
for
(
int
i =
0
; i < list.size();i++){
element = list.get(i);
if
(isOperator(element)){
n1 = Integer.parseInt(stack.pop());
&nb
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
10.2.4.3 Àý×Ó3£ºÍøÂçÓ¦ÓòãÐÒéµÄ¿ª·¢
Ç廪´óѧ³ö°æÉç¡¶Java³ÌÐòÔ±£¬ÉϰàÄǵãʶù¡·×÷ÕߣºÖÓÉù——µÚ10Õ¡¶¸ßÊÖÓжà¸ß²ËÄñÓжà²Ë¡·²¿·Ö½ÚÑ¡¡£
´ó¼ÒÒ²Ðí¶¼ÓùýFTPÉÏ´«ÏÂÔØ¹¤¾ß£¬±ÈÈç“LeapFTP”Õâ¸ö¹¤¾ßÊÇÒ ......
»ù±¾Ä£Ê½£º
1. ½Ó¿Úģʽ£ºµ±¶à¸öÀàÌṩ½üËÆµÄ·þÎñµÄʱºò£¬Í¨¹ý½Ó¿Úģʽ£¬²»Í¬µÄ·þÎñÌṩÕßÀàËùÌṩµÄ¹²Í¬µÄ·þÎñ¾Í¿ÉÒÔ±»³éÏó³öÀ´£¬²¢±»ÉùÃ÷Ϊһ¸ö¶ÀÁ¢µÄ½Ó¿Ú¡£ÕâÑù¿Í»§¶ÔÏó¾ÍÄÜÒÔÒ»ÖÖÎÞ·ìµÄ·½Ê½À´Ê¹Óò»Í¬µÄ·þÎñÌṩÀ࣬¶øÎÞÐè½øÐÐÈκθ͝¡£
2. ³éÏóÀàģʽ£º¿ÉÒÔ ......
ÌâÄ¿£ºÇëÓöàÏß³ÌʵÏÖÒ»¸öÉú²úÕßÀàºÍÒ»¸öÏû·ÑÕßÀ࣬Éú²úÕßËæ»úÉú³É20¸ö×Ö·û£¬Ïû·ÑÕß½«×Ö·û´òÓ¡µ½¿ØÖÆÌ¨¡£
class SyncStack{ //ͬ²½¶ÑÕ»Àà
¡¡¡¡¡¡private int index = 0; //¶ÑÕ»Ö¸Õë³õʼֵΪ0
¡¡¡¡¡¡private char []buffer = new char[6]; //¶ÑÕ»ÓÐ6¸ö×Ö·ûµÄ¿Õ¼ä
¡¡¡¡¡¡public synchronized void push(char c){ //¼ÓÉ ......
1
. Õ»(stack)Óë¶Ñ(heap)¶¼ÊÇJavaÓÃÀ´ÔÚRamÖдæ·ÅÊý¾ÝµÄµØ·½¡£ÓëC++²»Í¬£¬Java×Ô¶¯¹ÜÀíÕ»ºÍ¶Ñ£¬³ÌÐòÔ±²»ÄÜÖ±½ÓµØÉèÖÃÕ»»ò¶Ñ¡£
¡¡¡¡2
. Õ»µÄÓÅÊÆÊÇ£¬´æÈ¡ËٶȱȶÑÒª¿ì£¬½ö´ÎÓÚÖ±½ÓλÓÚCPUÖеļĴæÆ÷¡£µ«È±µãÊÇ£¬´æÔÚÕ»ÖеÄÊý¾Ý´óСÓëÉú ......