⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expressionevaluator.java

📁 PDBView是一个可以查看palmOS执行包*.pdb(类似于java包*.jar)结构的小工具
💻 JAVA
字号:
package vswaba.utils;

import waba.ui.*;
import waba.fx.*;
import waba.sys.*;
import waba.util.*;

public class ExpressionEvaluator extends Object
{
	public static final byte EXPT_STRING = 1;
	public static final byte EXPT_INTEGER = 2;
	public static final byte EXPT_DOUBLE = 3;
	public static final byte EXPT_DATE = 4;
  
  	public static final byte OPER_EQUAL = 1;
  	public static final byte OPER_LESS = 2;
  	public static final byte OPER_MORE = 3;
  	
  	private byte p_exptype;
  	private byte p_operator;
  	
  	private int p_ivalue;
  	private double p_dvalue;
  	private String p_svalue;
  	private String p_dtvalue;
  	
  	public ExpressionEvaluator(byte exptype, byte operator, String value)
  	{
	  	p_exptype = exptype;
  		p_operator = operator;
  	
  		switch (exptype)
  		{
  		case EXPT_STRING:
  			{
  				p_svalue = value;
  				
  				break;
  			}
  		case EXPT_INTEGER:
  			{
  				p_ivalue = Convert.toInt(value);
  				
  				break;
  			}
  		case EXPT_DOUBLE:
  			{
  				p_dvalue = Convert.toDouble(value);
  				
  				break;
  			}
  		case EXPT_DATE:
  			{
  				p_dtvalue = p_svalue;
  				
  				break;
  			}
  		}
  	}
  	
  	public boolean Evaluate(String value)
  	{
  		boolean result = false;
  	
  		int c_ivalue;
  		double c_dvalue;
  		String c_svalue;
  		String c_dtvalue;
  	
  		switch (p_exptype)
  		{
  		case EXPT_STRING:
  			{
  				c_svalue = value;
  				
  				switch (p_operator)
  				{
  				case OPER_EQUAL:
  					{
  						result = (c_svalue.compareTo(p_svalue) == 0);
  						
  						break;
  					}
  				case OPER_LESS:
  					{
  						result = (c_svalue.compareTo(p_svalue) < 0);
  						
  						break;
  					}
  				case OPER_MORE:
  					{
  						result = (c_svalue.compareTo(p_svalue) > 0);
  						
  						break;
  					}
  				}
  				
  				break;
  			}
  		case EXPT_INTEGER:
  			{
  				c_ivalue = Convert.toInt(value);

  				switch (p_operator)
  				{
  				case OPER_EQUAL:
  					{
  						result = (c_ivalue == p_ivalue);
  						
  						break;
  					}
  				case OPER_LESS:
  					{
  						result = (c_ivalue < p_ivalue);
  						
  						break;
  					}
  				case OPER_MORE:
  					{
  						result = (c_ivalue > p_ivalue);
  						
  						break;
  					}
  				}
  				
  				break;
  			}
  		case EXPT_DOUBLE:
  			{
  				c_dvalue = Convert.toDouble(value);

  				switch (p_operator)
  				{
  				case OPER_EQUAL:
  					{
  						result = (c_dvalue == p_dvalue);
  						
  						break;
  					}
  				case OPER_LESS:
  					{
  						result = (c_dvalue < p_dvalue);
  						
  						break;
  					}
  				case OPER_MORE:
  					{
  						result = (c_dvalue > p_dvalue);
  						
  						break;
  					}
  				} 				
  				
  				break;
  			}
  		case EXPT_DATE:
  			{
  				c_dtvalue = p_svalue;

  				switch (p_operator)
  				{
  				case OPER_EQUAL:
  					{
  						result = (c_dtvalue.compareTo(p_dtvalue) == 0);
  						
  						break;
  					}
  				case OPER_LESS:
  					{
  						result = (c_dtvalue.compareTo(p_dtvalue) < 0);
  						
  						break;
  					}
  				case OPER_MORE:
  					{
  						result = (c_dtvalue.compareTo(p_dtvalue) > 0);
  						
  						break;
  					}
  				}
  				  				
  				break;
  			}
  		}
  		
  		return result;
  	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -