0

私はJavaを初めて使用します。私はObjective-Cの経験が3か月あるので、その概念を非常に簡単に理解できます。学習目的で、Javaで記述された単純な階乗の例のプログラムをObjective-Cに移植しようとしています。しかし、この一行があります、私はここで何が起こっているのか理解していません:

for (int i; i < 10; i++){
println (i + "! =" + factorial(i));

これでforループとそれはすべて問題ありませんが、これは "!="私は見たことがありません-それは何をしますか?私には、「等しくない」演算子のように見えますが、i +等しくない+階乗(ちなみに、階乗はメソッドです)は意味がありません。

4

5 に答える 5

2

これは文字列を構築しています。

Java の「+」を使用して文字列を連結できます。これは、パーツの 1 つが文字列で、他のすべてのものも文字列に変換される場合に発生します (ここの int のように)。

"!= " は単なる文字列リテラルであり、Java が認識するものではありません。

Objective-C では、次のようになります。

 [NSString stringWithFormat:@"%d! = %d", i, factorial(i)]

Javaでは、次のこともできることに注意してください

 String.format("%d! = %d", i, factorial(i));

これはあなたにとってより馴染み深いかもしれません。

于 2012-08-27T09:25:06.257 に答える
1

!階乗の数学記号です。println文字列を取得してコンソール (または別の場所) に出力するため、その行は単純に結果を出力すると思います。

于 2012-08-27T09:24:40.453 に答える
0

ただのテキスト、それは印刷されます

したがって、コンソール出力は次のようになります。

1! =1  
2! =2  
3! =6  
...

Javaの文字列は「」であり、連結は+で行われます。

println ("the factorial of" + i + " is " + factorial(i)); 

同じだったでしょうが、あなたを混乱させることなく

于 2012-08-27T09:26:16.923 に答える
0

これは、出力で連結された単純な文字列であり、次の出力を生成します。

1! =1
2! =2 
...

つまり、これは演算子ではなく、文字列リテラルです。

于 2012-08-27T09:26:41.357 に答える
0

それは文字列です。printlnによって実行される出力は、「iの値」になります。=そしてfactorial(i)が返すものよりも...これは実際には非常に基本的なものです。

于 2012-08-27T09:27:24.453 に答える