<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>enhydra</title>
    <description>坚持不懈</description>
    <link>http://enhydra.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>sap BI / BW</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/195568" style="color:red;">http://enhydra.javaeye.com/blog/195568</a>&nbsp;
          发表时间: 2008年05月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/436" target="_blank">https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/436</a><br /><br /><a href="https://media.sdn.sap.com/public/html/submitted_docs/BW/BI_SDK_JavaDocs/bi_sdk_doc/docs/business_scenario.html" target="_blank">https://media.sdn.sap.com/public/html/submitted_docs/BW/BI_SDK_JavaDocs/bi_sdk_doc/docs/business_scenario.html</a>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/195568#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 22 May 2008 11:25:12 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/195568</link>
        <guid>http://enhydra.javaeye.com/blog/195568</guid>
      </item>
      <item>
        <title>linux mount problem</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/194758" style="color:red;">http://enhydra.javaeye.com/blog/194758</a>&nbsp;
          发表时间: 2008年05月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          when mount the sysfile, it appear that the type of filesystem error.<br /><br />and after fsck ing , it show the partion maybe zero .<br /><br />so the solution is :<br /><br /># mke2fs -na /dev/hda1<br /># e2fsck -b 32876 /dev/hda1<br /># mount /dev/hda1 /redaht
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/194758#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 20 May 2008 11:16:02 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/194758</link>
        <guid>http://enhydra.javaeye.com/blog/194758</guid>
      </item>
      <item>
        <title>说说场景(SAP landscape)这回事</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/181785" style="color:red;">http://enhydra.javaeye.com/blog/181785</a>&nbsp;
          发表时间: 2008年04月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          说说场景(SAP landscape)这回事<br />什么是一组逻辑上的系统组，它可以分水平，竖直情况<br />水平来说是由2个或多个系统ID来组成　比如：开发，质量，产品　组成一个具有BI功能的BI场景<br />竖直来说是由特定的领域来组成　比如产品场景由多个同一产品组成<br />它的由来也是为解决一些问题，环境的可配置性，可复制性，可移植性，最典型的是PRD,QAS,DEV<br />实例：一组可管理并提供多个服务的SAP组件，这些服务可以启动，停止，监控在同一时间，所有组件都能通过<br />一个通用的配置文件来提供。它是运行在一个物理主机上的。当然主机上也可同时有多个实例，一个实例通过一个SID来标识。<br />一个中心SAP系统包括最少一个实例，它提供SAP所有的服务。<br />SAP产品有ERP,SRM,CRM,Netweaver BI,Netweaver EP,SEM<br /><br />它的主要作用<br />有那类型:它可以绑定一些类型组件给实例 <br />Netweave 7.0<br />AS ABAP(application server abap),AS JAVA(application server java),DI(development infrastructure),<br />EPC(enterprise portal core),EP(enterprise portal),PI(process integration),BI(business intelligenc),<br />BI JAVA(business intelligence java),MI(mobile infrastructure)<br /><br /><br />还有几个小单元<br />MDM(master data management),ID (identity management)<br /><br />一个单一的实例：content server , gateway,sap central process scheduling application <br />livecache,search and classification(Trex),Bi accelerator,web dispatcher<br /><br />客户端：<br />adobe livecache designer,business explorer(BI),j2se adapter engine(PI/XI)<br />mobile infrastruture client,SAP GUI,developer studio,developer workplace<br />web browser<br /><br />很乱！只为记录。
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/181785#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 11 Apr 2008 14:56:19 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/181785</link>
        <guid>http://enhydra.javaeye.com/blog/181785</guid>
      </item>
      <item>
        <title>lusence 搜索引挚　另一个选择 MG4J</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/174382" style="color:red;">http://enhydra.javaeye.com/blog/174382</a>&nbsp;
          发表时间: 2008年03月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          MG4J 是另一个搜索engine<br />与lusence 主要区别是<br />它提供了 cluster 功能<br />具有更OO的设计方式<br /><br /><a href="http://mg4j.dsi.unimi.it/" target="_blank">http://mg4j.dsi.unimi.it/</a>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/174382#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 21 Mar 2008 10:00:43 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/174382</link>
        <guid>http://enhydra.javaeye.com/blog/174382</guid>
      </item>
      <item>
        <title>sybase procedures</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/168826" style="color:red;">http://enhydra.javaeye.com/blog/168826</a>&nbsp;
          发表时间: 2008年03月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          List of procedures<br /><br />MODIFIED SYBASE PROCEDURES<br /><br />sp__depends         Better version of sp_depends<br />sp__help         Better sp_help<br />sp__helpdb         Database Information<br />sp__helpdevice         Break down database devices into a nice report<br />sp__helpgroup         List groups in database by access level<br />sp__helpindex         Shows indexes by table<br />sp__helpsegment         Segment Information<br />sp__helprotect         Simple Protection Info for the database<br />sp__helptext         Show comments with line splits ok<br />sp__helpuser         Lists users in current database by group (includes aliases)<br />sp__lock         Lock information<br />sp__syntax         Works on any procedure to give you syntax<br />sp__who         sp_who that fits on a page<br /><br />SYSTEM ADMINISTRATOR PROCEDURES<br /><br />sp__block         Blocking processes.<br />sp__dbspace         Summary of current database space information.<br />sp__dumpdevice         Listing of Dump devices<br />sp__diskdevice         Listing of Disk devices<br />sp__helpdbdev         Show how Databases use Devices<br />sp__helplogin         Show logins and remote logins to server<br />sp__helpmirror         Shows mirror information, discover broken mirrors<br />sp__segment         Segment Information<br />sp__server         Server summary report (very useful)<br />sp__stat         Give basic server performance information (loops)<br />sp__vdevno         Who's who in the device world<br /><br />DBA PROCEDURES<br /><br />sp__badindex         list badly formed indexes (allow nulls) or those needing statistics<br />sp__collist         list all columns in database<br />sp__find_missing_index         Finds keys that do not have associated index<br />sp__flowchart         Makes a flowchart of procedure nesting<br />sp__groupprotect         Permission info by group<br />sp__indexspace         Space used by indexes in database<br />sp__id         Gives information on who you are and which db you are in<br />sp__noindex         list of tables without indexes.<br />sp__helpcolumn         show columns for given table<br />sp__helpdefault         list defaults (part of objectlist)<br />sp__helpobject         list objects<br />sp__helpproc         list procs (part of objectlist)<br />sp__helprule         list rules (part of objectlist)<br />sp__helptable         list tables (part of objectlist)<br />sp__helptrigger         list triggers (part of objectlist)<br />sp__helpview         list views (part of objectlist)<br />sp__objprotect         Permission info by object<br />sp__read_write         list tables by # procs that read, # that write, # that do both<br />sp__trigger         Useful synopsis report of current database trigger schema<br />sp__whodo         sp__who - filtered for only active processes<br /><br />AUDIT PROCEDURES<br /><br />sp__auditsecurity         Security Audit On Server<br />sp__auditdb         Audit Current Database For Potential Problems<br />sp__checkkey         Generate script for referential integrity problems (uses key info from sp_foreignkey)<br /><br />REVERSE ENGINEERING PROCEDURES<br /><br />sp__revalias         get alias generation script for current database<br />sp__revdb         get database generation script for server<br />sp__revdevice         get device generation script for server<br />sp__revgroup         get group generation script for current database<br />sp__revindex         get index generation script for current database<br />sp__revlogin         get login generation script for server<br />sp__revmirror         get mirror generation script for current database<br />sp__revsegment         get segment generation script for current database<br />sp__revtable         get table generation script for current database<br />sp__revuser         get user generation script for current database<br /><br />OTHER PROCEDURES<br /><br />sp__bcp         Create unix script to bcp in/out database<br />sp__date         Who can remember all the date styles?<br />sp__iostat         Loops n times showing active processes only<br />sp__grep         Search for patern<br />sp__isactive         Shows info about a single active process<br />sp__ls         Lists specific objects<br />sp__quickstats         Quick dump of server summary information<br />sp__whoactive         Show info about who is active
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/168826#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Mar 2008 16:47:35 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/168826</link>
        <guid>http://enhydra.javaeye.com/blog/168826</guid>
      </item>
      <item>
        <title>redhat 4 上的oracle,sybase,db2  安装 恢复</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/168758" style="color:red;">http://enhydra.javaeye.com/blog/168758</a>&nbsp;
          发表时间: 2008年03月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这几个数据库安装的时候，注意把环境变量设置起来<br />它们有相应的角本文件如SYBASE.sh,Oracle.sh...<br /><br />db2:<br />1. 启动实例(db2inst1):<br />db2start<br />2. 停止实例(db2inst1):<br />db2stop<br />3. 列出所有实例(db2inst1)<br />db2ilist<br />5.列出当前实例:<br />db2 get instance<br />4. 察看示例配置文件:<br />db2 get dbm cfg|more<br />5. 更新数据库管理器参数信息:<br />db2 update dbm cfg using para_name para_value<br />6. 创建数据库:<br />db2 create db test<br />7.连接数据库<br />db2 connect to test<br /><br />db2set DB2COMM=tcpip     ;; 设置允许 db2 通过 tcpip 方式访问<br />db2 => update database manager configuration using svcename server1|60000<br /><br />先以root 安装，然后加数据库，用户　最后导入<br />imp<br />------<br />1 create database demo about chinese charset<br />2 change user to db2inst1<br />3 go to /opt/linux_software/db2<br />4 db2 restore db demo redirect<br />5 db2 "set tablespace containers for 3 using (file '/home/db2inst1/db2inst1/NODE0000/demoS/TSC1' 9012)"<br />6 db2 "set tablespace containers for 4 using (file '/home/db2inst1/db2inst1/NODE0000/demoS/TSC2' 3000)"<br />7 db2 restore db cats continue<br />-----<br /><br /><br />oracle:<br />isql<br />SQL> startup<br />SQL> connect sys as sysdba<br /><br />lsnrctl status<br /><br />create user demo identified by values 'demo';<br />grant dba to demo with admin option;<br />grant unlimited tablespace to demo with admin option;<br /><br />emctl start dbconsole<br />   url: http://localhost:1158/em/console/aboutApplication<br />isqlplusctl start<br /><br /><br />sybase:<br />isql -Usa -SLOCALHOST -Pdemo -Hlocalhost<br /><br />dump database demo to '/export/...../demo.dmp'<br />   go<br /><br />创建数据库设备 2G<br />disk init name='demo_dbdev', physname='/opt/sybase/data/demo_dbdev.dat', vdevno=10,size=1024000 <br />go<br />disk init name='demo_logdev', physname='/opt/sybase/data/demo_logdev.dat', vdevno=11,size=51200 <br />go<br />创建数据库DB，其大小为1024M，日志大小为512M<br />create database demo on demo_dbdev=1024 log on demo_logdev=512 <br />go<br />alter database demo on demo_dbdev=1024<br />go<br />删除设备<br />sp_dropdevice demo_dbdev<br />go<br />sp_dropdevice demo_logdev<br />go<br />load database demo from '/opt/software/demo0.dmp'<br />go<br />online database demo<br />go<br /><br />sp_post_xpload<br />go<br /><br />加用户<br />sp_addlogin demo,demo,@fullname="demo"<br />grant role sa_role to demo<br />use demo2<br />sp_changedbowner demo<br /><br />sp__helpdb         Database Information<br />sp__helpdevice         Break down database devices into a nice report
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/168758#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Mar 2008 14:43:43 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/168758</link>
        <guid>http://enhydra.javaeye.com/blog/168758</guid>
      </item>
      <item>
        <title>igs  管理 启动 停止 字体</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/164291" style="color:red;">http://enhydra.javaeye.com/blog/164291</a>&nbsp;
          发表时间: 2008年02月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          igs <br /><br />它是一个单独服务器，所以可以独立进行管理 <br /><br />启动：igswd -dir=C:\usr\sap\J2E\JC01\igs -mode=profile pf=C:\usr\sap\J2E\SYS\profile\J2E_JC01_TOSHIBA3<br /><br />停止：一般通过 任务管理器来kill进程 igswd,igsmux,igspw  等<br /><br />igs 7.00版本是没有这个配置文件 igs.xml的<br />它是直接在server配置文件中的<br />如果render不出图片时，可以加上<br />igs/listener/http = 4$(SAPSYSTEM)80,administration<br />这个在J2E_JC01_TOSHIBA3文件中<br /><br />同时IGS的配置文件xmlchart,gfwchart 也可以有些配置<br />LANGUAGES 表示对应语言时的字体库<br />FONTPATHS 表示对应语言字体库的path<br />TRACE  表示对应日志级别，默认为0，可以用2来跟踪日志<br /><br />当chart有中文出现乱码时，可以这样处理<br />在xmlchart文件中<br />[DEFAULTFONT]<br />SimSun<br /><br />SimSun 对应中文宋体<br /><br /><br /><br /><br />sap notes ： 596825
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/164291#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 22 Feb 2008 16:51:17 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/164291</link>
        <guid>http://enhydra.javaeye.com/blog/164291</guid>
      </item>
      <item>
        <title>linux 下的 command</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/163683" style="color:red;">http://enhydra.javaeye.com/blog/163683</a>&nbsp;
          发表时间: 2008年02月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          uname -a<br /><br />top<br /><br />iostat<br /><br />rpm <br /><br />cpio
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/163683#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 20 Feb 2008 17:08:43 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/163683</link>
        <guid>http://enhydra.javaeye.com/blog/163683</guid>
      </item>
      <item>
        <title>linux 下的cvs , telent 配置</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/163681" style="color:red;">http://enhydra.javaeye.com/blog/163681</a>&nbsp;
          发表时间: 2008年02月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          各自的配置文件：<br /><br />#/etc/xinetd.d/cvs<br /># default: off<br /># description: The CVS service can record the history of your source \<br />#              files. CVS stores all the versions of a file in a single \<br />#              file in a clever way that only stores the differences \<br />#              between versions.<br />service cvspserver<br />{<br />        disable = no<br />        port                    = 2401<br />        socket_type             = stream<br />        protocol                = tcp<br />        wait                    = no<br />        user                    = root<br />        passenv                 = PATH<br />        server                  = /usr/bin/cvs<br />        env                     = HOME=/var/cvs<br />        server_args             = -f --allow-root=/opt/cvs --allow-root=/opt/jcats_dtr pserver<br />#       bind                    = 127.0.0.1<br />}<br /><br />#/etc/xinetd.d/telnet<br /># default: on<br /># description: The telnet server serves telnet sessions; it uses \<br />#       unencrypted username/password pairs for authentication.<br />service telnet<br />{<br />        disable = no<br />        flags           = REUSE<br />        socket_type     = stream<br />        wait            = no<br />        user            = root<br />        server          = /usr/sbin/in.telnetd<br />        log_on_failure  += USERID<br />}
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/163681#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 20 Feb 2008 17:07:31 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/163681</link>
        <guid>http://enhydra.javaeye.com/blog/163681</guid>
      </item>
      <item>
        <title>双 linux 启动</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/163680" style="color:red;">http://enhydra.javaeye.com/blog/163680</a>&nbsp;
          发表时间: 2008年02月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          记录一下<br /><br />简单的分区<br /><br />/dev/hda1   redhat5.1<br />/dev/hda3   redhat4.5<br /><br /><br />使用grub <br /><br /># grub.conf generated by anaconda<br />#<br /># Note that you do not have to rerun grub after making changes to this file<br /># NOTICE:  You do not have a /boot partition.  This means that<br />#          all kernel and initrd paths are relative to /, eg.<br />#          root (hd0,2)<br />#          kernel /boot/vmlinuz-version ro root=/dev/hda3<br />#          initrd /boot/initrd-version.img<br />#boot=/dev/hda<br />default=0<br />timeout=10<br />splashimage=(hd0,2)/boot/grub/splash.xpm.gz<br />#hiddenmenu<br />#title Red Hat Enterprise Linux ES 4 (2.6.9-55.ELsmp)<br />#       root (hd0,2)<br />#       kernel /boot/vmlinuz-2.6.9-55.ELsmp ro root=LABEL=/1 rhgb quiet<br />#       initrd /boot/initrd-2.6.9-55.ELsmp.img<br />title Red Hat Enterprise Linux ES 4-up (2.6.9-55.EL)<br />        root (hd0,2)<br />        kernel /boot/vmlinuz-2.6.9-55.EL ro root=LABEL=/1 rhgb quiet<br />        initrd /boot/initrd-2.6.9-55.EL.img<br />title Red Hat Enterprise Linux AS 5<br />        root (hd0,0)<br />        kernel /boot/vmlinuz-2.6.18-8.el5 ro root=/dev/hda1<br />        initrd /boot/initrd-2.6.18-8.el5.img
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/163680#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 20 Feb 2008 17:05:05 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/163680</link>
        <guid>http://enhydra.javaeye.com/blog/163680</guid>
      </item>
      <item>
        <title>sap libaray 加载方式</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/158270" style="color:red;">http://enhydra.javaeye.com/blog/158270</a>&nbsp;
          发表时间: 2008年01月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这里有2个blog不错<br /><br /><a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/web-application-server/a-c/Component%20Dependencies%20Explained.article" target="_blank">https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/web-application-server/a-c/Component%20Dependencies%20Explained.article</a><br /><br /><br /><a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2361" target="_blank">https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2361</a>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/158270#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Jan 2008 11:47:47 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/158270</link>
        <guid>http://enhydra.javaeye.com/blog/158270</guid>
      </item>
      <item>
        <title>igs 500 error 解决办法</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/158264" style="color:red;">http://enhydra.javaeye.com/blog/158264</a>&nbsp;
          发表时间: 2008年01月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          igs 500 error 解决办法<br /><br />不能通过web 管理 http://localhost:40180 时<br />可以用以下办法解决<br /><br />编辑C:\usr\sap\J2E\SYS\profile\J2E_JC01_machine 这个文件<br /><br />加入<br />igs/listener/rfc/disable = 1<br /><strong>igs/listener/http = 4$(SAPSYSTEM)80,administration</strong><br /><br />重启就可以了
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/158264#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Jan 2008 11:36:52 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/158264</link>
        <guid>http://enhydra.javaeye.com/blog/158264</guid>
      </item>
      <item>
        <title>sap Licenses (授权码详解)</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/155642" style="color:red;">http://enhydra.javaeye.com/blog/155642</a>&nbsp;
          发表时间: 2008年01月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/8220" target="_blank">sap Licenses (授权码详解)</a><br /><br /><br />比较详细的东东
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/155642#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 14 Jan 2008 14:23:59 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/155642</link>
        <guid>http://enhydra.javaeye.com/blog/155642</guid>
      </item>
      <item>
        <title>linux sap netweaver testDriver 安装</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/150515" style="color:red;">http://enhydra.javaeye.com/blog/150515</a>&nbsp;
          发表时间: 2007年12月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          check linux 64bit<br />	getconf LONG_BIT or find /lib64<br />	uname -a<br />add maxmemory<br />	vi /etc/sysctl.conf<br />kernel.shmmax=23136829430<br />kernel.shmall=5242880<br />kernel.msgmni=1024<br />fs.file-max=32768<br />kernel.sem=1250 256000 100 1024<br />vm.max_map_count=300000<br /><br />add swap partion to 20G<br />	mkdir swap<br />	cd swap<br />	<br />	20G=1024*1024*20)<br />	<br />	dd if=/dev/zero of=swapfile bs=1024 count=20971520<br />	ls al<br />	mkswap swapfile<br />	swapon swapfile<br />	ls -l<br />	free<br /><br />add shm size to 9G<br />	vi /etc/fstab<br />LABEL=/                 /                       ext3    defaults        1 1<br />devpts                  /dev/pts                devpts  gid=5,mode=620  0 0<br />tmpfs                   /dev/shm                tmpfs   size=8692m      0 0<br />proc                    /proc                   proc    defaults        0 0<br />sysfs                   /sys                    sysfs   defaults        0 0<br />LABEL=SWAP-hda2         swap                    swap    defaults        0 0<br />/swap/swapfile          swap                    swap    defaults        0 0<br /><br />. /etc/profile<br /><br />xwindow can't display<br />update the software<br />xorg-x11-libXp-7.2-8.x86_64.rpm<br />	vi /etc/profile<br />DISPLAY=localhost:0.0<br /><br />sqlcli -U DEFAULT "select mandt,bname,uflag from usr02"<br />sqlcli -U DEFAULT "select mandt,bname,uflag from usr02 where mandt='000' and bname='SAP*'"<br />sqlcli -U DEFAULT "update usr02 set uflag=0 where mandt='001' and uflag=64"<br />sqlcli -U DEFAULT "delete from USR02 where mandt = '001' and bname = 'SAPJSF'"<br /><br /><br />user,password:<br />control,sapn4sadm<br />sapn4s,sapn4sadm<br />superdba,sapn4sadm<br /><br />su n4sadm<br />startsap n4shost<br /><br /><br /> ./sapcontrol -host localhost -nr 01  -function GetProcessList<br /> ./sapcontrol -host localhost -nr 01  -function GetStartProfile	<br /> ./sapcontrol -host localhost -nr 01  -function J2EEGetProcessList<br /># ./sapstartsrv -r -q -p /usr/sap/N4S/SYS/profile/START_SCS00_n4shost -s N4S -n 01<br /> <br /> <br />jcmon pf=\path\to\instance_profile<br /> option 20 to see the status of the Dispatcher & server0 processes	<br />jcmon -v
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/150515#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 24 Dec 2007 16:20:18 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/150515</link>
        <guid>http://enhydra.javaeye.com/blog/150515</guid>
      </item>
      <item>
        <title>linux sap netweaver 自启动脚本</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/150512" style="color:red;">http://enhydra.javaeye.com/blog/150512</a>&nbsp;
          发表时间: 2007年12月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          [root@redhat5 n4sadm]# more S99n4shost.sh<br />#!/bin/sh<br /><br /># See how we were called.<br />case "$1" in<br />  start)<br />    su n4sadm -c "startsap n4shost" >/dev/null 2>&1<br />    ;;<br />  stop)<br />    su n4sadm -c "stoptsap n4shost" >/dev/null 2>&1<br />    ;;<br />  status)<br /><br />    ;;<br />  restart)<br /><br />    ;;<br />  *)<br />    echo $"Usage: $0 {start|stop|status|condrestart|restart}"<br />    exit 1<br />esac<br /><br />exit $?
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/150512#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 24 Dec 2007 16:17:30 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/150512</link>
        <guid>http://enhydra.javaeye.com/blog/150512</guid>
      </item>
      <item>
        <title>java 计算器 的实现</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/131432" style="color:red;">http://enhydra.javaeye.com/blog/131432</a>&nbsp;
          发表时间: 2007年10月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.math.BigDecimal; &nbsp;&nbsp;</span></span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;java.util.HashMap; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.util.Iterator; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;java.util.Stack; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.util.StringTokenizer; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Expression&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;expres&nbsp;=&nbsp;</span><span class="string">&quot;c*d+(((a+67.32)+(c-39))/d+10)&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expres&nbsp;=&nbsp;&quot;11*13+(((13+67.32)+(13-39))/56+23)&quot;; </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HashMap&nbsp;variables&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;HashMap();&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.put(</span><span class="string">&quot;a&quot;</span><span>,</span><span class="keyword">new</span><span>&nbsp;BigDecimal(</span><span class="string">&quot;10&quot;</span><span>)); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.put(</span><span class="string">&quot;b&quot;</span><span>,</span><span class="keyword">new</span><span>&nbsp;BigDecimal(</span><span class="string">&quot;20&quot;</span><span>)); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.put(</span><span class="string">&quot;c&quot;</span><span>,</span><span class="keyword">new</span><span>&nbsp;BigDecimal(</span><span class="string">&quot;30&quot;</span><span>)); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variables.put(</span><span class="string">&quot;d&quot;</span><span>,</span><span class="keyword">new</span><span>&nbsp;BigDecimal(</span><span class="string">&quot;40&quot;</span><span>)); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expression&nbsp;calc&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Expression(variables,expres); &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;calc&nbsp;=&nbsp;new&nbsp;Ccl(null,expres); </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">double</span><span>&nbsp;resut&nbsp;=&nbsp;calc.getResult().doubleValue(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span class="string">&quot;&nbsp;Expression&nbsp;=&nbsp;&quot;</span><span>+expres); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;calc.printVariables(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span class="string">&quot;&nbsp;Result&nbsp;=&nbsp;&quot;</span><span>&nbsp;+&nbsp;resut); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//---------- </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;String&nbsp;expression; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;HashMap&nbsp;operators&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;HashMap();&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operators.put(</span><span class="string">&quot;+&quot;</span><span>,&nbsp;</span><span class="string">&quot;1&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operators.put(</span><span class="string">&quot;-&quot;</span><span>,&nbsp;</span><span class="string">&quot;1&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operators.put(</span><span class="string">&quot;/&quot;</span><span>,&nbsp;</span><span class="string">&quot;2&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operators.put(</span><span class="string">&quot;*&quot;</span><span>,&nbsp;</span><span class="string">&quot;2&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operators.put(</span><span class="string">&quot;(&quot;</span><span>,&nbsp;</span><span class="string">&quot;0&quot;</span><span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;Context&nbsp;ctx;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Expression(HashMap&nbsp;vars,String&nbsp;expr)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctx&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Context(vars); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expression&nbsp;=&nbsp;expr; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;getResult()&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//infix&nbsp;to&nbsp;Postfix </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;pfExpr&nbsp;=&nbsp;infixToPostFix(toVaviable(expression)); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//build&nbsp;the&nbsp;Binary&nbsp;Tree </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;rootNode&nbsp;=&nbsp;buildTree(pfExpr); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Evaluate&nbsp;the&nbsp;tree </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;rootNode.evaluate(ctx).setScale(</span><span class="number">2</span><span>,BigDecimal.ROUND_HALF_UP); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;NonTerminalExpression&nbsp;getNonTerminalExpression( &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;operation, &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;l, &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;r)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(operation.trim().equals(</span><span class="string">&quot;+&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;AddExpression(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(operation.trim().equals(</span><span class="string">&quot;-&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;SubtractExpression(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(operation.trim().equals(</span><span class="string">&quot;*&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;MultiplyExpression(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(operation.trim().equals(</span><span class="string">&quot;/&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;DivExpression(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;String&nbsp;toVaviable(String&nbsp;str){ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">char</span><span>&nbsp;var&nbsp;=&nbsp;'z'; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;tmp&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;StringBuffer(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringTokenizer&nbsp;st&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;StringTokenizer(str,&nbsp;</span><span class="string">&quot;+-*/()&quot;</span><span>,&nbsp;</span><span class="keyword">true</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;ss&nbsp;=&nbsp;</span><span class="keyword">null</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">while</span><span>&nbsp;(st.hasMoreElements())&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ss&nbsp;=&nbsp;st.nextToken(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(isDigital(ss)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctx.assign((var)+</span><span class="string">&quot;&quot;</span><span>,ss); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.append((var)+</span><span class="string">&quot;&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var--; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span class="keyword">else</span><span>{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.append(ss); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ss); </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;tmp.toString(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;String&nbsp;infixToPostFix(String&nbsp;str)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stack&nbsp;s&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Stack(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;pfExpr&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;tempStr&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;expr&nbsp;=&nbsp;str.trim(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;str.length();&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;currChar&nbsp;=&nbsp;str.substring(i,&nbsp;i&nbsp;+&nbsp;</span><span class="number">1</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;((isOperator(currChar)&nbsp;==&nbsp;</span><span class="keyword">false</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;(!currChar.equals(</span><span class="string">&quot;(&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;(!currChar.equals(</span><span class="string">&quot;)&quot;</span><span>)))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pfExpr&nbsp;=&nbsp;pfExpr&nbsp;+&nbsp;currChar; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(currChar.equals(</span><span class="string">&quot;(&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(currChar); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//for&nbsp;')'&nbsp;pop&nbsp;all&nbsp;stack&nbsp;contents&nbsp;until&nbsp;'(' </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(currChar.equals(</span><span class="string">&quot;)&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;=&nbsp;(String)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">while</span><span>&nbsp;(!tempStr.equals(</span><span class="string">&quot;(&quot;</span><span>))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pfExpr&nbsp;=&nbsp;pfExpr&nbsp;+&nbsp;tempStr; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;=&nbsp;(String)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//if&nbsp;the&nbsp;current&nbsp;character&nbsp;is&nbsp;an </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;operator </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(isOperator(currChar))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(s.isEmpty()&nbsp;==&nbsp;</span><span class="keyword">false</span><span>)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;=&nbsp;(String)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;strVal1&nbsp;=&nbsp;(String)&nbsp;operators.get(tempStr); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;val1&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Integer(strVal1).intValue(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;strVal2&nbsp;=&nbsp;(String)&nbsp;operators.get(currChar); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;val2&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Integer(strVal2).intValue(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">while</span><span>&nbsp;((val1&nbsp;&gt;=&nbsp;val2))&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pfExpr&nbsp;=&nbsp;pfExpr&nbsp;+&nbsp;tempStr; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val1&nbsp;=&nbsp;-</span><span class="number">100</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(s.isEmpty()&nbsp;==&nbsp;</span><span class="keyword">false</span><span>)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;=&nbsp;(String)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strVal1&nbsp;=&nbsp;(String)&nbsp;operators.get(tempStr); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val1&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Integer(strVal1).intValue(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;((val1&nbsp;&lt;&nbsp;val2)&nbsp;&amp;&amp;&nbsp;(val1&nbsp;!=&nbsp;-</span><span class="number">100</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(tempStr); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(currChar); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="comment">//if </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="comment">//&nbsp;for </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">while</span><span>&nbsp;(s.isEmpty()&nbsp;==&nbsp;</span><span class="keyword">false</span><span>)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;=&nbsp;(String)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pfExpr&nbsp;=&nbsp;pfExpr&nbsp;+&nbsp;tempStr; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;pfExpr; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;Expressions&nbsp;buildTree(String&nbsp;expr)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stack&nbsp;s&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Stack(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;expr.length();&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;currChar&nbsp;=&nbsp;expr.substring(i,&nbsp;i&nbsp;+&nbsp;</span><span class="number">1</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(isOperator(currChar)&nbsp;==&nbsp;</span><span class="keyword">false</span><span>)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;e&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;TerminalExpression(currChar); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(e); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">else</span><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;r&nbsp;=&nbsp;(Expressions)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;l&nbsp;=&nbsp;(Expressions)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expressions&nbsp;n&nbsp;=&nbsp;getNonTerminalExpression(currChar,&nbsp;l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(n); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="comment">//for </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;(Expressions)&nbsp;s.pop(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;isDigital(String&nbsp;str)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(!isOperator(str)&nbsp;&amp;&amp;&nbsp;!ctx.checkKey(str)&nbsp;&amp;&amp;&nbsp;!isComma(str)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;isComma(String&nbsp;str)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;((str.equals(</span><span class="string">&quot;(&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;(str.equals(</span><span class="string">&quot;)&quot;</span><span>))) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;isOperator(String&nbsp;str)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;((str.equals(</span><span class="string">&quot;+&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;(str.equals(</span><span class="string">&quot;-&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;(str.equals(</span><span class="string">&quot;*&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;(str.equals(</span><span class="string">&quot;/&quot;</span><span>))) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;printVariables(){ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">this</span><span>.ctx.print(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;</span><span class="comment">//&nbsp;End&nbsp;of&nbsp;class </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">class</span><span>&nbsp;Context&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;HashMap&nbsp;varList&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;HashMap(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;assign(String&nbsp;var,&nbsp;String&nbsp;value)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;varList.put(var,&nbsp;</span><span class="keyword">new</span><span>&nbsp;BigDecimal(value)); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;getValue(String&nbsp;var)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BigDecimal&nbsp;&nbsp;tmp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(varList.get(var)&nbsp;==&nbsp;</span><span class="keyword">null</span><span>){ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;BigDecimal(var); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span class="keyword">else</span><span>{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp&nbsp;=&nbsp;(BigDecimal)&nbsp;varList.get(var); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(var+&nbsp;&quot;&nbsp;&quot;+tmp.doubleValue()); </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;tmp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;checkKey(String&nbsp;var){ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;varList.get(var)&nbsp;==&nbsp;</span><span class="keyword">null</span><span>?</span><span class="keyword">false</span><span>:</span><span class="keyword">true</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;print(){ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;ob&nbsp;; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>(Iterator&nbsp;it&nbsp;=&nbsp;varList.keySet().iterator();it.hasNext();){ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ob&nbsp;=&nbsp;it.next(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ob+</span><span class="string">&quot;&nbsp;=&nbsp;&quot;</span><span>+varList.get(ob)); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Context(HashMap&nbsp;vars)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(vars&nbsp;!=</span><span class="keyword">null</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;varList&nbsp;=&nbsp;vars; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">class</span><span>&nbsp;TerminalExpression&nbsp;</span><span class="keyword">implements</span><span>&nbsp;Expressions&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;String&nbsp;var; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;TerminalExpression(String&nbsp;v)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;=&nbsp;v; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;evaluate(Context&nbsp;c)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;c.getValue(var); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">interface</span><span>&nbsp;Expressions&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;evaluate(Context&nbsp;c); &nbsp;&nbsp;</span></li>
    <li class=""><span>} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">abstract</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;NonTerminalExpression&nbsp;</span><span class="keyword">implements</span><span>&nbsp;Expressions&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;Expressions&nbsp;leftNode; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;Expressions&nbsp;rightNode; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;NonTerminalExpression(Expressions&nbsp;l,&nbsp;Expressions&nbsp;r)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setLeftNode(l); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRightNode(r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;setLeftNode(Expressions&nbsp;node)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leftNode&nbsp;=&nbsp;node; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;setRightNode(Expressions&nbsp;node)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rightNode&nbsp;=&nbsp;node; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Expressions&nbsp;getLeftNode()&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;leftNode; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Expressions&nbsp;getRightNode()&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;rightNode; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;</span><span class="comment">//&nbsp;NonTerminalExpression </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">class</span><span>&nbsp;AddExpression&nbsp;</span><span class="keyword">extends</span><span>&nbsp;NonTerminalExpression&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;evaluate(Context&nbsp;c)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;getLeftNode().evaluate(c).add(getRightNode().evaluate(c)); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;AddExpression(Expressions&nbsp;l,&nbsp;Expressions&nbsp;r)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;</span><span class="comment">//&nbsp;AddExpression </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">class</span><span>&nbsp;SubtractExpression&nbsp;</span><span class="keyword">extends</span><span>&nbsp;NonTerminalExpression&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;evaluate(Context&nbsp;c)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;getLeftNode().evaluate(c).subtract(getRightNode().evaluate(c)); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;SubtractExpression(Expressions&nbsp;l,&nbsp;Expressions&nbsp;r)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;</span><span class="comment">//&nbsp;SubtractExpression </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">class</span><span>&nbsp;MultiplyExpression&nbsp;</span><span class="keyword">extends</span><span>&nbsp;NonTerminalExpression&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;evaluate(Context&nbsp;c)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;getLeftNode().evaluate(c).multiply(getRightNode().evaluate(c)); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;MultiplyExpression(Expressions&nbsp;l,&nbsp;Expressions&nbsp;r)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;</span><span class="comment">//&nbsp; </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">class</span><span>&nbsp;DivExpression&nbsp;</span><span class="keyword">extends</span><span>&nbsp;NonTerminalExpression&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;BigDecimal&nbsp;evaluate(Context&nbsp;c)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;getLeftNode().evaluate(c).divide(getRightNode().evaluate(c),</span><span class="number">4</span><span>,BigDecimal.ROUND_HALF_UP); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;DivExpression(Expressions&nbsp;l,&nbsp;Expressions&nbsp;r)&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">super</span><span>(l,&nbsp;r); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;</span><span class="comment">//&nbsp;</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/131432#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 12 Oct 2007 17:39:00 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/131432</link>
        <guid>http://enhydra.javaeye.com/blog/131432</guid>
      </item>
      <item>
        <title>officeContol error</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/79821" style="color:red;">http://enhydra.javaeye.com/blog/79821</a>&nbsp;
          发表时间: 2007年05月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          officeContol error<br />
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/79821#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 14 May 2007 14:37:54 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/79821</link>
        <guid>http://enhydra.javaeye.com/blog/79821</guid>
      </item>
      <item>
        <title>买房子全过程</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/77367" style="color:red;">http://enhydra.javaeye.com/blog/77367</a>&nbsp;
          发表时间: 2007年05月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">选房子<br />
　多种渠道　1　网上找　2　报纸上　3　到熟悉的小区直接问保安或开店的店主<br />
　1、2、3　都不是很可靠　看运气了　3　因为保安或店主对小区比较熟　并和业主也认识<br />
　这在一定程度上也增加了成交的可能性<br />
看房子<br />
　这过程我并没有太注意，因为熟人对这小区评价不错　所以只是大概的看了一下<br />
定房价<br />
　业主首先会提出一个价格，你可以适当的反价，这过程你也要想好一个你能接受的理想价格<br />
定合同<br />
　因为是直接和业主成交，所以合同精简最好　大家都能接受<br />
办按揭<br />
　现在按揭很容易，朋友推荐招行。这过程你不要有太多担心　因为银行方面都是专家<br />
　有问题可以咨询他们，一般他们都会帮的。如果这个时候业主有证在手会更快。直接复印<br />
　证就可以去评估，出评估报告。同时把首期款进行资金监管。<br />
去国土局办房产过户<br />
　罗湖国土局在水库新村对面<br />
　一般先要打印一份合，并填写产权转移申请表，双方身份证复印<br />
　拿号就是等了。一般半天能搞定，这个过程叫收文　就是把你们的材料递送给国土局<br />
　5个工作日后　凭回执就可以拿到证<br />
首期款给业主<br />
　产权过户后　先复印证给银行　银行把监管资金给业主<br />
再去国土局办按揭抵压<br />
　一般银行会有专门的人在那服务，这个时候会更容易了<br />
水电　物业　等过户<br />
　按揭成功后　可以水电　物业过户　并交钥匙。<br />
最后成功完成交易</font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/77367#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 06 May 2007 13:41:18 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/77367</link>
        <guid>http://enhydra.javaeye.com/blog/77367</guid>
      </item>
      <item>
        <title>Business Graphic 组件开发</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/74670" style="color:red;">http://enhydra.javaeye.com/blog/74670</a>&nbsp;
          发表时间: 2007年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal"><span lang="EN-US">Business Graphic </span><span style="font-family: 宋体;">组件开发</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">SAP</span><span style="font-family: 宋体;">　专门提供了一个</span><span lang="EN-US">IGS</span><span style="font-family: 宋体;">（</span><span lang="EN-US">internet graphic server</span><span style="font-family: 宋体;">）来处理图形生成</span></p>
<p class="MsoNormal"><span lang="DE" style="">IGS<span style="">&nbsp;&nbsp; </span>web</span><span style="font-family: 宋体;">端访问是</span><span lang="DE" style=""><a href="http://localhost:40180/">http://localhost:40180/</a> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">也可以通过</span><span lang="DE" style="">Visual Administrator </span><span style="font-family: 宋体;">来更改</span><span lang="DE" style="">,</span><span style="font-family: 宋体;">路径是：</span><span lang="DE" style="">Root/server01/services/configuration adapter/webdypro/sap.com/tc~wd~dispwda/propertysheet default/IGS<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style=""><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">它分为两种形式启动：和</span><span lang="DE" style="">server </span><span style="font-family: 宋体;">一起启动</span><span lang="DE" style="">(</span><span style="font-family: 宋体;">嵌入式</span><span lang="DE" style="">)</span><span style="font-family: 宋体;">、单独启动</span><span lang="DE" style="">(sp9</span><span style="font-family: 宋体;">以后版本</span><span lang="DE" style="">)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style=""><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">它包括图形</span><span lang="EN-US">(chart) </span><span style="font-family: 宋体;">和地图</span><span lang="EN-US">(map) </span><span style="font-family: 宋体;">两大类　组件</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">以下例子是　</span><span lang="EN-US">time_stacked</span><span style="font-family: 宋体;">　组件开发</span></p>
<br />
<br />
<br />
<br />
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Context </span><span style="font-family: 宋体;">对应如下</span></p>
<p class="MsoNormal"><span lang="EN-US">BusinessGraphics : seriesSource <span style="">&nbsp;</span>----------- datas.series</span></p>
<p class="MsoNormal"><span lang="EN-US">SeriesList :pointSource<span style="">&nbsp; </span>------------- datas.series.point</span></p>
<p class="MsoNormal"><span lang="EN-US">SeriesList :label<span style="">&nbsp; </span>------------- datas.series.point.name</span></p>
<p class="MsoNormal"><span lang="EN-US">SeriesList_Point :valueSource<span style="">&nbsp; </span>----------- datas.series.point</span></p>
<p class="MsoNormal"><span lang="EN-US">Values (NumberValue) :value------------ datas.series.point.price (double</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">)</span></p>
<p class="MsoNormal"><span lang="EN-US">TimeValue(TimeValue):value -----------<span style="">&nbsp; </span>datas.series.point.timeV(String</span><span style="font-family: 宋体;">类型</span> <span style="font-family: 宋体;">格式是</span><span lang="EN-US"> yyyyMMdd)</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">生成图形的方法</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp; </span><span style="">&nbsp;&nbsp;</span>public void buildGraphic( )<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp; </span>{<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp; </span>//@@begin buildGraphic()<span style="">&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp; </span>SimpleDateFormat sd = new SimpleDateFormat(&quot;yyyyMMdd&quot;);<span style=""> </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!wdContext.nodeDatas().nodeSeries().isEmpty()) {<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>wdContext.nodeDatas().nodeSeries().invalidate();<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>List datas = new ArrayList();<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ISeriesElement si = null;<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>IPointElement po;<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>si = wdContext.createSeriesElement();<span style="">&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>si.setName(&quot;test&quot;);<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>wdContext.nodeDatas().nodeSeries().addElement(si);<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>for (int j = 0; j &lt; marketprc.size(); j++) {<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Dto tab = (Dto) marketprc.get(j);<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>po = wdContext.createPointElement();<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>po.setPrice(tab.getHigh_prc());<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>po.setTimeV(sd.format(tab.getPricedate()));<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>si.nodePoint().addElement(po);<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><span style="">&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal"><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">最后生成效果图</span><span new="" courier="" lang="EN-US" style="font-size: 10pt;"><o:p></o:p></span></p>
<br />
<br />
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/74670#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 25 Apr 2007 16:13:24 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/74670</link>
        <guid>http://enhydra.javaeye.com/blog/74670</guid>
      </item>
      <item>
        <title>一步一步创建一个结构清晰的Web Dynpro</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/69629" style="color:red;">http://enhydra.javaeye.com/blog/69629</a>&nbsp;
          发表时间: 2007年04月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-size: small"><span style="font-family: 宋体">一步一步创建一个结构清晰的</span><span><span style="font-family: Times New Roman">Web Dynpro </span></span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体"><span style="font-size: small">本教程目的：</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">1</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">对</span><span><span style="font-family: Times New Roman">NetWeaver </span></span><span style="font-family: 宋体">整体清晰的了解</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">2</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">对开发环境有深刻的印象</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">3</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">理解</span><span><span style="font-family: Times New Roman">Webdynpro</span></span><span style="font-family: 宋体">的一些基本概念</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">4</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">熟知</span><span><span style="font-family: Times New Roman">Webdynpro</span></span><span style="font-family: 宋体">的设计</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">5</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">认识组件的重用性</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">6</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">学习更多用户界面知识</span></span></p><span><span style="font-size: small; font-family: Times New Roman">&nbsp;</span></span> <p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体"><span style="font-size: small">主题：</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span style="font-family: Times New Roman"><span><span><span style="font-size: small">1</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span><span style="font-size: small">NetWeaver </span></span></span><span style="font-family: 宋体"><span style="font-size: small">浏览</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">2</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">开发环境介绍</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-size: small"><span><span style="font-family: Times New Roman">Sap Web </span></span><span style="font-family: 宋体">应用服务器</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-family: 宋体"><span style="font-size: small">开发框架</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-size: small"><span><span style="font-family: Times New Roman">Sap NetWeaver </span></span><span style="font-family: 宋体">开发</span><span><span style="font-family: Times New Roman">IDE</span></span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span style="font-family: Times New Roman"><span><span><span style="font-size: small">3</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span><span style="font-size: small">Web Dynpro </span></span></span><span style="font-family: 宋体"><span style="font-size: small">介绍</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">4</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">一步一步开发</span><span><span style="font-family: Times New Roman">Web Dynpro</span></span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-family: 宋体"><span style="font-size: small">架构设计</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-family: 宋体"><span style="font-size: small">详细设计</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-family: 宋体"><span style="font-size: small">实现</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span style="font-family: Times New Roman"><span><span><span style="font-size: small">5</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span><span style="font-size: small">Web Dynpro </span></span></span><span style="font-family: 宋体"><span style="font-size: small">本质属性</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-size: small"><span><span style="font-family: Times New Roman">Web Dynpro</span></span><span style="font-family: 宋体">　组件</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt"><span style="font-size: small"><span><span style="font-family: Times New Roman">Web Dynpro</span></span><span style="font-family: 宋体">　模式</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">6</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">总结</span></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/69629#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 10 Apr 2007 13:25:19 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/69629</link>
        <guid>http://enhydra.javaeye.com/blog/69629</guid>
      </item>
      <item>
        <title>Sap NetWeaver 架构分析</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/68696" style="color:red;">http://enhydra.javaeye.com/blog/68696</a>&nbsp;
          发表时间: 2007年04月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp; <p class="MsoNormal"><span style="font-family: 宋体">它的可能构建</span></p><span><span>1<span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">一个或多个</span><span>java</span><span style="font-family: 宋体">应用服务器</span><span style="font-family: 宋体-方正超大字符集">实例<span></span></span><span><span>2<span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体-方正超大字符集">一个中心服务器实例<span></span></span><span><span>3<span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体-方正超大字符集">一个或多个数据库<span></span></span>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/68696#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 06 Apr 2007 17:51:19 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/68696</link>
        <guid>http://enhydra.javaeye.com/blog/68696</guid>
      </item>
      <item>
        <title>SAP NetWeaver 安装</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/66656" style="color:red;">http://enhydra.javaeye.com/blog/66656</a>&nbsp;
          发表时间: 2007年03月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font face="Arial">SAP NetWeaver 安装</font>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/66656#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 30 Mar 2007 12:40:59 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/66656</link>
        <guid>http://enhydra.javaeye.com/blog/66656</guid>
      </item>
      <item>
        <title>sap maxdb 卸载时问题</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/56473" style="color:red;">http://enhydra.javaeye.com/blog/56473</a>&nbsp;
          发表时间: 2007年02月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>命令行方式处理</p>
<p><font face="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On UNIX/Linux: Switch to the rootshell.</font></p>
<p><font face="Arial">On Microsoft Windows: Open the command prompt on your server.</font></p>
<p><font face="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stop the database instances on your server one by one with the command:<br />
dbmcli &ndash;d <database_name> -u <dbm_user>,
<password> db_offline<br />
dbmcli -d j2e -u control,abcd1234 db_offline<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delete the database instances on your server one by one with the command:<br />
dbmcli &ndash;d <database_name> -u <dbm_user>,
<password> db_drop<br />
dbmcli -d j2e -u control,abcd1234 db_drop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call the uninstall program with your chosen option:</password>
</dbm_user></database_name></password>
</dbm_user></database_name></font></p>
<p><font face="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If you want to uninstall all software components, specify the option &ndash;all; otherwise, specify your chosen component with the option &ndash;package.<br />
</font></p>
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/56473#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 28 Feb 2007 12:27:20 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/56473</link>
        <guid>http://enhydra.javaeye.com/blog/56473</guid>
      </item>
      <item>
        <title>sap 服务器启动时的问题</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/56472" style="color:red;">http://enhydra.javaeye.com/blog/56472</a>&nbsp;
          发表时间: 2007年02月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">1 如果SAP server 启动时报　连接数据maxdb错误　一般可能是连接数据库的用户名和密码不对</font></p>
<font face="Arial">
<p><br />
通过这个工具来修改server 启动时加载的连接数据用户名及其它信息</p>
<p><sapj2eeengine_install_dir></sapj2eeengine_install_dir>\config\configtool.bat<br />
选择secure store , admin/password/<sid></sid>entry<br />
修改值　并add按键<br />
再保存</p>
<p>重启机器</p>
<p>2&nbsp;&nbsp; &nbsp;数据日志満也会造成服务启动不来<br />
　这时就要把maxdb 的日志设成覆盖式</p>
<p>sap server 启动</p>
<p>　1　数据库maxdb是以服务方式启动<br />
　2　MMC　工具启动时的用户是要有此权限的用户<br />
　3　它服务包括　消息报务器，序列服务，发布服务器，分发服务器，应用服务器　这几部分组成</p>
<p>&nbsp;命令行方式启动</p>
<p><font face="Arial">startsap [db|r3|j2ee|ccms|all|check} [<instance></instance>] [<virtual hostname=""></virtual>]</font></p>
<font face="Arial">
<p><br />
start:<br />
C:\usr\sap\J2E\JC00\exe&gt;sapstart.exe name=J2E nr=JC00 SAPDIAHOST=localhost</p>
<p>stop:<br />
C:\usr\sap\J2E\JC00\exe&gt;stopsap.exe name=J2E nr=JC00 SAPDIAHOST=localhost</p>
<p>&nbsp;</p>
</font></font>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://enhydra.javaeye.com/blog/56472#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 28 Feb 2007 12:23:14 +0800</pubDate>
        <link>http://enhydra.javaeye.com/blog/56472</link>
        <guid>http://enhydra.javaeye.com/blog/56472</guid>
      </item>
      <item>
        <title>sap portal</title>
        <author>enhydra</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://enhydra.javaeye.com">enhydra</a>&nbsp;
          链接：<a href="http://enhydra.javaeye.com/blog/56471" style="color:red;">http://enhydra.javaeye.com/blog/56471</a>&nbsp;
          发表时间: 2007年02月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">以管理员的角度来看</font><font face