0

テキストボックスがあるWebアプリケーションを開発しています。ユーザーは、「文字列」の特定の色を表示する条件を入力します。この文字列には整数値が含まれます。

ユーザーは、次のように文字列値の条件を指定します。

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

これは一つの条件です。if,elseif,else 条件のようなものです。ユーザーは if,else like このような条件のみを指定できます

>60:"Blue"
:"White"

(つまり、文字列値が 60 より大きい場合、文字列の色として「青」が取得されます。それ以外の場合、文字列の色は「白」になります)

各文字列のテキストボックスに入力された上記の条件に基づいて、文字列の色を評価する必要があります。値を持つ何千もの文字列があり、ユーザーは文字列ごとにそのような式を入力します。

この問題を解決する最善の方法は何ですか?

4

2 に答える 2

0

Shunting Yardアルゴリズムを参照してください。似たようなものが必要です。

于 2013-03-12T05:46:02.933 に答える
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 に答える