0

我正在开发一个有文本框的 Web 应用程序。用户输入条件以显示“字符串”的特定颜色。该字符串包含一些整数值。

用户像这样为字符串值指定条件,

>30:"Red"
<20:"Green"
:"Yellow:

这是一个条件。它类似于 if,elseif,else 条件。用户只能指定 if,else like condition like this

>60:"Blue"
:"White"

(这意味着如果字符串值大于 60,则将“蓝色”作为字符串的颜色,否则将“白色”作为字符串的颜色)

我必须根据在每个字符串的文本框中输入的上述条件来评估字符串的颜色。有数千个带有值的字符串,用户将为每个字符串输入这样的表达式。

解决此问题的最佳方法是什么?

4

2 回答 2

0
String input = getTextBoxInput() // get input from text box
if(input.contains("<") || input.contains("<"))
{
   if(input.contains("<"))
   {
      int index = input.indexOf("<");
      String conditionString = input.substring(index+1,input.length());
      // condition number is the number being compared
      int conditionNumber = conditionString.split(":")[0];
      // if condition is true then get the corresponding colour
      if(number < conditionNumber){setColor(conditionString.split(":")[1])}
      // check if it an if else condition and do the following
      else if(input.length()>1){ setColor(conditionString.split(":")[2])}
   }
}

这是基本的伪代码。您可以为 "<" 和 ">" 定义常量。此外,如果输入不正确,您可能需要进行一些异常处理。

于 2013-03-12T05:42:12.537 回答
0

请参阅Shunting Yard算法,你需要有类似的东西

于 2013-03-12T05:46:02.933 回答