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 は実際には 2 回考慮されます。一度 d1、d2 を生成し、後で (s1 != s2) を決定します。このため、後者は同じ記号の 2 つの数字を追加することを確実にし、ここで本当に取得したいものを無効にする可能性があります。例:

  • 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 に答える