JAVA声明函数报错

从命令行中输入2个20以内的整数,然后生成一个在输入的两个整数之间的一个随机整数n,打印出前n项Fibonacci数列:1,1,2,3,5,8,13.。。并统计出这个数列... 从命令行中输入2个20以内的整数,然后生成一个在输入的两个整数之间的一个随机整数n,打印出前n项Fibonacci数列:1,1,2,3,5,8,13.。。并统计出这个数列的和是多少

import java.util.Scanner;
public class TEST{
public static void main(String[] args){
int Fibonacci(int n){
if(n==1 || n==2){
return 1;}
else{
return Fibonacci(n-1)+Fibonacci(n-2);}
}
int[] a=new int[2];
int i=0;
int n=0;
Scanner s= new Scanner(System.in);
for (i = 0; i < a.length; i++)
{
a[i] = s.nextInt();
}
int begin=0,end=0;
if(a[0]<a[1]){
begin=a[0];
end=a[1];
}
else{
begin=a[1];
end=a[0];
}
n=(int)Math.random()*(end-begin)+begin;
String k = "斐波那契数列的前"+n+"项:";
for(i=1;i<=n;i++){
s+=Fibonacci(i)+" ";
}
System.out.println(s);
}
}

求大神帮忙
倒数第三行是 println(k)
= = 麻烦帮我修改好
展开
 我来答
zjgzhengxian
2014-12-23 · TA获得超过1276个赞
知道小有建树答主
回答量:736
采纳率:100%
帮助的人:390万
展开全部
方法里面不能再声明方法。
把Fibonacci这个方法移到main函数外面。
追问
我还要另外建一个新的类?
追答

不需要再创建一个类

public static void main(String[] args){
    //方法内部,不能再声明方法
    //此处声明了一个方法,错误。
    int Fibonacci(int i){
        ......
    }
}

如果要改的话就要类似于

public static void main(String[] args){
    //main方法内部
}
//和main方法同级
int Fibonacci(int i){
    //Fibonacci方法内部
}
优质内容提供者andy
2014-12-23 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:790万
展开全部
我去错误不是一般的多 居然在 main中定义方法
追问
java里面不是可以这样定义吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式