需要参数:1.规则 eg 数学>=90;60>=数学等字符串 2.double类型的用户数据
可直接用的代码如下:
private static boolean fiveCompare(String content, double stu)
{
Pattern p = Pattern.compile(">=|>|==|<=|<");
String num = p.split(content)[1];
Pattern pm = Pattern.compile("^\\d+\\.{0,1}\\d*$");
Matcher mm = pm.matcher(num);
if(mm.matches())
{
if(content.contains(">="))
{
if(stu >= Double.parseDouble(content.split(">=")[1]))
{
return true;
}else
{
return false;
}
}
if(content.contains(">"))
{
if(stu > Double.parseDouble(content.split(">")[1]))
{
return true;
}else
{
return false;
}
}
if(content.contains("=="))
{
if(stu == Double.parseDouble(content.split("==")[1]))
{
return true;
}else
{
return false;
}
}
if(content.contains("<="))
{
if(stu <= Double.parseDouble(content.split("<=")[1]))
{
return true;
}else
{
return false;
}
}
if(content.contains("<"))
{
if(stu < Double.parseDouble(content.split("<")[1]))
{
return true;
}else
{
return false;
}
}
}else
{
//(6>=[yasisum_all])
if(content.contains(">="))
{
if(Double.parseDouble(content.split(">=")[0]) >= stu)
{
return true;
}else
{
return false;
}
}
if(content.contains(">"))
{
if(Double.parseDouble(content.split(">")[0]) > stu)
{
return true;
}else
{
return false;
}
}
if(content.contains("=="))
{
if(Double.parseDouble(content.split("==")[0]) == stu)
{
return true;
}else
{
return false;
}
}
if(content.contains("<="))
{
if(Double.parseDouble(content.split("<=")[0]) <= stu)
{
return true;
}else
{
return false;
}
}
if(content.contains("<"))
{
if(Double.parseDouble(content.split("<")[0]) < stu)
{
return true;
}else
{
return false;
}
}
}
return false;
}