GY3849 发表于 2013-3-16 23:59

刚学JAVA,写了个简单程序,运行不了;求高手修改



题目要求:打印出以下数列:2 3 5 8 13 21 34 55 。。。。

基础很差,思路很模糊,写完了不能编。。。附上附件,求帮忙修改


public class aaa {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub

               
            int i=0;
                for(i=1;i<=100;i++)
                {
                        System.out.println(f(i));
                }
                       
                public static int f(int x)
                {
                        if(x==1)
                                return 2;
                        if(x==2)
                                return 3;
                        else
                                return f(x-1)+f(x-2);
                }
        }

}

EZ企鹅 发表于 2013-3-17 00:01

LZ为什么这么执着要学编程?我见过很多人干这行,实际上不适合干这个,到一定年纪自己也没信心了就转行了...

EZ企鹅 发表于 2013-3-17 00:02

LZ为什么这么执着要学编程?我见过很多人干这行,实际上不适合干这个,到一定年纪自己也没信心了就转行了...

everrr 发表于 2013-3-17 00:04

wocnm 发表于 2013-3-17 00:06

初学编程不要用递归,理解不直接,哥给你一个求菲薄拉切数列的循环代码

int a=0;
int b=1;
for(int i=0;i<20;i++){

   int c=a+b;
   a=b;
   b=c;
   System.out.print(a+",");
}

国妓米兰 发表于 2013-3-17 00:07

真的想学cs别来8da问了

先去找书看吧

OruA 发表于 2013-3-17 00:09

这么短,看都不想看

wocnm 发表于 2013-3-17 00:11

要用递归先要搞清方法调用的原理,比如方法调用时会压栈,方法在归递时代码段是同一个空间,数据空间则不同,完成递归后通过栈记录沿调用路线返回。
这些对初学者都有点点难

GY3849 发表于 2013-3-17 00:11

wocnm 发表于 2013-3-17 00:06 static/image/common/back.gif
初学编程不要用递归,理解不直接,哥给你一个求菲薄拉切数列的循环代码

int a=0;


谢谢!!

国妓米兰 发表于 2013-3-17 00:12

非用java不可吗?

先学可以先用python掌握一些基本概念以后再去用java去做东西有感觉一些

EZ企鹅 发表于 2013-3-17 00:14

java相当好学,只要逻辑清晰,根本不用求助别人,自学可以到很高的层次,各种资源非常多.

国妓米兰 发表于 2013-3-17 00:48

本帖最后由 国妓米兰 于 2013-3-17 00:52 编辑

EZ企鹅 发表于 2013-3-17 00:14 static/image/common/back.gif
java相当好学,只要逻辑清晰,根本不用求助别人,自学可以到很高的层次,各种资源非常多.

多接触几种语言,

回头再来看java,理解会深很多。不管怎么样其实都是数据结构和算法,但是不同的展现可以让你对问题有更多角度的看法和理解

java 7开始也都在吸收fp的功能了

EZ企鹅 发表于 2013-3-17 01:47

国妓米兰 发表于 2013-3-17 00:48 static/image/common/back.gif
多接触几种语言,

回头再来看java,理解会深很多。不管怎么样其实都是数据结构和算法,但是不同的展 ...

......好的,你赢了

国妓米兰 发表于 2013-3-17 02:02

EZ企鹅 发表于 2013-3-17 01:47 static/image/common/back.gif
......好的,你赢了

[:29]

nevermind 我也是胡乱在瞎说

估计lz就是想单纯做一些安卓开发而已。。。

[:10] 安卓开发人员参差不齐啊

EZ企鹅 发表于 2013-3-17 02:07

国妓米兰 发表于 2013-3-17 02:02 static/image/common/back.gif
nevermind 我也是胡乱在瞎说

估计lz就是想单纯做一些安卓开发而已。。。


LZ的基础还没打好.学编程要出头的话逻辑思维一定要非常清晰.国外知识体系这么开放.只要是逻辑思维出色的人一定能学好.不管搞什么开发,用什么语言.主要就三个方面,图形,通信,以及对操作系统的了解程度.这三方面过关了就是出色的开发者,可以适应任意需求开发

国妓米兰 发表于 2013-3-17 02:26

EZ企鹅 发表于 2013-3-17 02:07
LZ的基础还没打好.学编程要出头的话逻辑思维一定要非常清晰.国外知识体系这么开放.只要是逻辑思维出色的人 ...

没太看明白具体什么意思,但是感觉你说前面2个其实属于数据结构和算法。操作系统和计算机网络都很重要。如果要更深的话

walkman_cdwx 发表于 2013-3-17 08:06

这个程序有三个毛病
1是函数写到了main里面
2是循环100次应该是越界了,超过了int的最大值
3是用递归算fibonacci效率低,改用迭代效率高点

xiaos 发表于 2013-3-17 11:26

:lol:lol:lol:lol:lol

25岁无能力男 发表于 2013-3-17 11:29

楼主连最基本的java规则都没弄清,还是找本入门书看看吧

你踩着我脚了 发表于 2013-3-17 11:30

都是高帅富,。。。搬砖的根本看不懂这些乱码。
页: [1]
查看完整版本: 刚学JAVA,写了个简单程序,运行不了;求高手修改