我制作计算器,有些计算需要3条信息(例如3 * 4),而其他只需要2条(例如5条!)。
我已设法使用以下代码将输入分成3部分:
String[] parts = myInput.split(" ");
String num1 = parts[0];
String operation = parts[1];
String num2 = parts[2];
但这意味着当我只输入2件事时,它就无法工作。
如何允许输入3件或2件作为输入?
答案 0 :(得分:0)
您不应该假设输入始终采用3参数形式。而是采用通用输入,根据用例解析它。 在您的情况下,它可以归结为您接受输入后的两个特定用例:
对于每种情况,您都可以定义允许的运算符列表。例如。 '!'将在案例1列表中,而' *'将来是' 2'
扫描字符串,查找操作员位置。 [^ 0-9](表示除数字以外的模式)。或者只是你可以为操作员做一个简单的检查(通过创建自己的自定义方法)
一旦你弄清楚这一点,验证你的字符串(可选) - 例如没有意义为一元运算符提供两个操作数。
完成此操作后,通过基于运算符拆分字符串,现在可以很容易地解析所需的操作数。计算是相当微不足道的。
希望这有帮助。
答案 1 :(得分:-1)
在不知情的情况下,我无法帮助您找到更好的设计来适应共性和差异。但要回答所陈述的问题......
您可以使用parts.length
来了解您给出的许多变量,并使用它来分支您的代码(即if else语句)。