【发布时间】:2012-05-09 16:30:08
【问题描述】:
我正在做的是以有限字母字符串的形式制定生产规则,将其复制到 char 数组中,然后通过 if 语句运行它,该语句根据字符调用函数。
如“lff[f]”调用functionL、functionF、functionF、functionOpenB、functionF、functionCloseB。
所以目前是:
workRuleArr= stringProdrule.toCharArray();
for (char c=0; c < workRuleArr.length; c++){
if (workRuleArr[c] == 'f')
{
functionF();
}
if (workRuleArr[c] == 'l')
{
functionL();
}
等
这很好并且可以工作,但是:
我如何将参数从生产规则传递给那些函数,例如“l(100)ff..”,以便它调用 functionL(x)... 其中 x = 100 并将 100 传递给函数? ?
在同一个生产规则字符串中可能有许多不同的 x 值。用户在程序开始时一次性输入规则,因此需要在同一生产规则中处理多个参数
如果问题不清楚,请告诉我任何想法。谢谢
【问题讨论】:
-
哦,除了我的回答还有一个一般提示:使用 equals(..) 而不是 ==。
-
不要使用
char作为计数器的类型。使用int。
标签: java function if-statement parameter-passing