0

我是 Java 新手。我有 3 个月的 Objective-C 经验,所以我很容易理解它的概念。我正在尝试将一个用 Java 编写的简单阶乘示例程序移植到 Objective-C 以用于学习目的。但是有这一行,我不明白这里发生了什么:

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

现在for循环和一切都很好,但是这个“!=”我从未见过——它有什么作用?对我来说,它看起来像一个“不等于”运算符,这没有任何意义 i + not equal too + factorial (顺便说一句,阶乘是一种方法)。

4

5 回答 5

2

这是建立一个字符串。

Java中的“+”可用于连接字符串。如果其中一个部分是字符串,并且所有其他内容也转换为字符串(如此处的整数),则会发生这种情况。

"!=" 只是一个字符串文字,不是 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 回答