0

我试图获得一个数学方程来识别在 UItextfield(s1,s2)中输入的整数(-1 或 +1)的 + /- 符号。因此,如果用户输入不同的符号,则方程将彼此相减。似乎由于某种原因无法识别该标志,程序只是添加了 d1 和 d2。

-(IBAction)calculateD:(id)sender{
float n1, r1, n2, r1, d, d1, d2;
int s1, s2;

s1= [textfieldS1.text intvalue]; //etc for all variables

d1 = s1 * ((n1-1)/r1);
d2 = s2 * ((n2-1)/r2);

if (s1 != s2) { d = d1 - d2;} 
else { d = d1 + d2;
}}

请问这段代码有什么问题吗?

4

1 回答 1

2

我不知道你想在这里做什么。变量未初始化,并且 -calculateD: 方法内部没有对实际 UITextField 的特定引用。说到这里,这里有一些提示,希望它会派上用场。

符号 s1、s2 实际上被考虑了两次。一次产生d1,d2,然后决定(s1!= s2)。因此,后者将确保您添加两个相同符号的数字,可能会否定您在这里真正想要获得的内容。例子:

  • 假设 s1=+1, s1=+1,那么你得到 d = ((n1-1)/r1) + ((n2-1)/r2);
  • 假设 s1=+1, s1=-1,那么你得到 d = ((n1-1)/r1) + ((n2-1)/r2); 和以前一样;

只需放弃 if,并留下一个:d = d1 + d2。

于 2012-04-10T03:00:32.787 回答