黑马程序员技术交流社区
标题:
不用for循环输出1到100?
[打印本页]
作者:
chuanyueing
时间:
2013-3-7 14:03
标题:
不用for循环输出1到100?
本帖最后由 朱玺 于 2013-3-7 14:09 编辑
刚看了会递归,看到这么个题目,动手做了下,不知道有什么不妥的,大家帮看下,还有别的方法吗?第一次接触递归
public class Test1 {
public static void main(String[] args) {
int i =0;
getNumber(i);
}
static void getNumber(int i)
{
i++;
System.out.println(i);
if (i < 100)
getNumber(i);
}
}
复制代码
作者:
chuanyueing
时间:
2013-3-7 14:08
我靠,代码发不上去,怎么回事?
作者:
陈圳
时间:
2013-3-7 14:47
public static void getNum(int i)
{
if(i==101)
return ;
else
{
System.out.println(i);
getNum(i+1);
}
}
复制代码
作者:
chuanyueing
时间:
2013-3-7 15:07
陈圳 发表于 2013-3-7 14:47
这个貌似更简单,谢了
作者:
黑马_位志国
时间:
2013-3-7 15:21
public static void getNum(int num)
{
whie(i < 100)
{
i++;
System.out.println(i);
getNum(i);
}
}
作者:
陈圳
时间:
2013-3-7 15:50
黑马_位志国 发表于 2013-3-7 15:21
public static void getNum(int num)
{
whie(i < 100)
用了while就没必要用递归了...
作者:
王亚东
时间:
2013-3-7 15:55
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class Demo02 {
static int i = 0;
public static void main(String[] args) {
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new Runnable(){
public void run() {
i++;
if(i<=100){
System.out.println(i);
}else{
System.exit(0);
}
}
}, 0, 1, TimeUnit.MICROSECONDS);
}
}
复制代码
用并发线程也可以实现,当然很麻烦,但也是一种方式。。
作者:
张宁
时间:
2013-3-7 16:37
public class hello {
public static void main(String[] args) {
getNum(102);
}
public static void getNum(int i ){
if (i<0||i>100){
System.out.print("输入值不合法");
retrun ;
}
else{
System.out.println(i);
getNum(i+1);
}
}
}
复制代码
大家已经给的很好了,我修改一下。
作者:
张卫刚
时间:
2013-3-7 18:09
while循环:
int i=1;
while(i<=100)
{
System.out.println(i);
i+=1;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2