-1

のような文字列があります(x == y), (t != s), (a = b + c)。ここで、左の文字x,と右の文字, t,を取得する必要があります。aysbc

このために、私は次のことを行っています。

while(//{condition}){
  eqn = stmnt.split("=");
  getVars(eqn[0])); // first while round should return x, then t, and so on. 
  getVars(eqn[0])); // first while round should return y, then s, then b, c.
}

private static ArrayList<String> getVars(String str){
    ArrayList<String> variables = new ArrayList<String>();
    Pattern pattern = Pattern.compile("([a-zA-Z]+)");
      Matcher matcher = pattern.matcher(str);
      while (matcher.find())
      {
          variables.add(matcher.group());
      }
      return variables;
}

現在、このコードは (a = b + c) のような方程式でうまく機能しています。前の 2 つの方程式では、左側の変数 (x、t) のみが返され、右側の変数 (y、s) は返されません。

ここで何が間違っていますか?

どんな助けでも大歓迎です!

4

1 に答える 1

0

手始めに: - 2番目getVars(eqn[0]));getVars(eqn[1]));

while(//{condition}){
  eqn = stmnt.split("=");
  getVars(eqn[0])); // first while round should return x, then t, and so on. 
  getVars(eqn[1])); // first while round should return y, then s, then b, c.
}
于 2013-02-28T11:17:07.837 に答える