新西兰天维网社区

标题: 一个java初学者的问题 (3 Feb 有新问题) [打印本页]

作者: 炫目    时间: 2012-1-31 17:46:52     标题: 一个java初学者的问题 (3 Feb 有新问题)

本帖最后由 炫目 于 2012-2-3 16:38 编辑

class F111{
int fact(int t){
  int result;
  if(t==1)return 1;
  result = fact(t-1)*t;
  return result;
}
}
public class Test {
public static void main(String args[]){
F111 fact=new F111();
System.out.print(fact.fact(3));
}
}
这里是一个java递归的示例,算阶乘的。
我的问题是为什么fact(t-1)*t会循环直到t=1?他又没有写循环语句。
还有下面的test是什么意思:
boolean equals(Test o)
是像int,char之类的还是引用前面已创建的一个void的对象?
作者: la_ka    时间: 2012-1-31 18:21:57

1。因为t-1带入fact(int t)了,t==1是递归结素条件,递归不用管中间过程,递归最好用的方法,比较喜欢,只是耗点内存
2。就是Test类把,是个比较类是否相同的FUNCTION把
作者: 炫目    时间: 2012-1-31 19:34:45

谢谢!!!!!!!!!!
作者: agleed    时间: 2012-2-1 07:53:11

大杂烩果然是什么问题都能找到答案的!
作者: 我家小宝    时间: 2012-2-1 11:16:15

result = fact(t-1)*t;.  一直再call。也可以将此看成一个stack push和pop的例子
作者: MaxPower    时间: 2012-2-1 11:56:03

本帖最后由 MaxPower 于 2012-2-1 11:56 编辑
la_ka 发表于 2012-1-31 18:21
1。因为t-1带入fact(int t)了,t==1是递归结素条件,递归不用管中间过程,递归最好用的方法,比较喜欢,只是 ...


卡拉 潜水专业啊
作者: 末日的爱    时间: 2012-2-1 12:59:57

在哪学的,,,,
作者: 炫目    时间: 2012-2-2 09:32:55

呵呵,自学。。。
作者: Adagio    时间: 2012-2-2 22:35:50

ah~~~ recursion~~~
作者: wolaile    时间: 2012-2-2 23:53:53

自学成才啊{:8_389:}
作者: 炫目    时间: 2012-2-3 15:37:44

for(int x:y)
这一句什么意思?
就是在Variable-length arguments里面的, y是一个varargs。
最主要的是这个该死的冒号。。
作者: tim4j    时间: 2012-2-3 15:45:19

Adagio 发表于 2012-2-2 22:35
ah~~~ recursion~~~

哈哈。。我想了半天没想出英文是啥。。。
作者: Adagio    时间: 2012-2-3 23:54:33

炫目 发表于 2012-2-3 15:37
for(int x:y)
这一句什么意思?
就是在Variable-length arguments里面的, y是一个varargs。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
作者: skylaughing    时间: 2012-2-4 15:16:07

本帖最后由 skylaughing 于 2012-2-4 15:19 编辑

借着楼主的问题问一问,有没有特初级的 Java 教程,网上的也行。老想学了,可是没有什么程序编写基础,见到的书都没法儿跟进。 求指教。
作者: skylaughing    时间: 2012-2-4 15:19:06

Adagio 发表于 2012-2-3 23:54
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

版主学识渊博,还都给这方面的问题。那就求一下 最基本的 Java 入门,水平太低,未看到我能跟进的。
作者: Adagio    时间: 2012-2-4 20:32:20

skylaughing 发表于 2012-2-4 15:19
版主学识渊博,还都给这方面的问题。那就求一下 最基本的 Java 入门,水平太低,未看到我能跟进的。 ...

啊别这样说我,会被同行笑掉大牙的
这些都是很基本的,当年坎大入门语言就是java,所以我们那届都学过

你google一下java tutorials
一大堆
作者: skylaughing    时间: 2012-2-5 02:33:00

Adagio 发表于 2012-2-4 20:32
啊别这样说我,会被同行笑掉大牙的
这些都是很基本的,当年坎大入门语言就是java,所以我们那届都学过
...

. 对我而言,程序什么的怎么也看不懂。不知是没找对书还是脑子不行。鼓捣个WORD之流还行。好我搜搜。




欢迎光临 新西兰天维网社区 (http://bbs.skytrade.co.nz/) Powered by Discuz! X2