这是两段代码
public class Demo1 { public static void main(String[] args) {
/*第1个月:1对  
      第2个月:1对  
      第3个月:2对   
      第4个月:3对  
      第5个月:5对  
  ........
      第n个月
     斐波那契数列*/
        
        System.out.println(fibonacci(6));
        }
static int  fibonacci(int n){
if(n==1||n==2)
return 1;
else
return fibonacci(n-1)+fibonacci(n-2);

}
}
public class FunctionDemo3 { public static void main(String[] args) {
print99();
}
 static void print99(){
for(int x=1;x<=9;x++){
for(int y=1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
我想请问下这两段代码中  在划线部分  为什么一个是int   一个是void  这两个有什么区别呢  麻烦大神告诉下  谢谢了

解决方案 »

  1.   

    int 是你执行完那个方法后需要得到一个int类型的值,void的你不需要返回值
      

  2.   

    一个是返回int型变量 一个是不返回直接写空void了 这个书上应该有 
      

  3.   

    int 是你执行完那个方法后需要得到一个int类型的值,void的你不需要返回值 
      

  4.   

    第一个int其实是看你想怎么写,用void也是可以的,把return换位输出语句
    也可以达到同样的效果,所以这个int看你心情了。至于第二个嘛你还是接着用
    void好,首先你是对这个九九乘法表的因数进行的单独封装,也就是单独写个
    方法了,然后就是输出九九乘法表,所有你已经没有什么必要来返回什么东东来
    给调用者了。可是用int之类的来返回个东西呢,也不会出错,只是那个东西对
    你确实是什么用也没有,毕竟你的目的早就达到了
      

  5.   

    一个为int ,说明这个函数需要return 一个int类型的数据,
    一个为void,说明这个函数不需要返回值.
      

  6.   

    int的函数需要返回值,而void中是不需要返回值的。你看int中带了return,而void中是不带的。这两段程序本质是一样的。int的那段中输出是在主函数中进行的,如果没有返回值,程序不知道要打印出什么来,而void那段输出就直接在函数体内完成了,直接就打印出了。
      

  7.   

    不返回值,就加void
    要返回某种类型的值,就加对应的类型。 
      

  8.   

    LZ再看看函数声明的知识吧……void就是你这个方法只做操作不return新数据,除了void其他的int、boolean等等都要return一个相应类型的数据(最后的return,不写就报错)
      

  9.   

    一个是返回的执行结果是int型变量;
    一个是不执行没有结果,所以返回直接写空void了 。