一个递归问题
import   java.util.Scanner; 
 public   class   Digui 
 {   public   static   void   main(Sting   args[]) 
          {   int   n; 
                double   value; 
                Scanner   input=new   Scanner(System.in); 
                System.out.print( "本程序实现计算从1到n平方和! "); 
                n=input.nextInt(); 
                value=fn_no_recursion(n); 
                System.out.printf( "the   result   of   fn_no_recursion:%   
 ld\n ",value); 
                value=fn_recursion(n); 
                System.out.printf( "the   result   of   fn_recursion   :%   
 ld\n ",value); 
                } 
 } 
 double   fn_no_recursion(int   n)   //非递归方式 
    {long   value=0; 
       for(int   i=1;i <=n;i++) 
                         value+=i*i; 
                return   value; 
    } 
 double   fn_recursion(int   n)      //递归方式 
    {   if(n==1) 
                return   1; 
             return   fn_recursion(n-1)+n*n; 
 } 
                编译出现如下错误:C:\> javac   Digui.java 
 Digui.java:15:   需要为   class、interface   或   enum 
 double   fn_no_recursion(int   n)      有哪位大虾能帮我调出来?谢谢了。 
 ^
------解决方案--------------------因为你把方法写到了类得外面!!!   
 好好检查一下吧,java的方法要写到类定义里面去!
------解决方案--------------------楼上正解。 
 任何函数都要封装在类里面。
------解决方案--------------------楼主粗心了 
 呵呵
------解决方案--------------------由于 main 方法是静态方法,要访问其他方法的话,需要把那些方法也改成静态方法,或者是实例化这个类生成一个对象来访问。   
 static double fn_no_recursion(int n) 
 static double fn_recursion(int n)
------解决方案--------------------程序错误太多了,建议检查完最基本语法错误再讨论,printf哪有这中参数的方法阿 。
------解决方案--------------------import java.util.Scanner; 
 public class Digui 
 { public static void main(String args[]) 
    { int n; 
      double value; 
      Digui test = new Digui(); 
      Scanner input=new Scanner(System.in); 
      System.out.print( "本程序实现计算从1到n平方和! "); 
      n=input.nextInt(); 
      value=test.fn_no_recursion(n); 
      System.out.println( "the result of fn_no_recursion: "+value); 
      value=test.fn_recursion(n); 
      System.out.println( "the result of fn_recursion : "+value); 
      } 
 double fn_no_recursion(int n) //非递归方式 
  {long value=0; 
   for(int i=1;i <=n;i++) 
         value+=i*i; 
      return value; 
  } 
 double fn_recursion(int n)  //递归方式 
  { if(n==1) 
      return 1; 
     return fn_recursion(n-1)+n*n; 
 } 
 } 
------解决方案--------------------你使用的占位符方式一直测试不行... 
 还是跟楼上的一样 
 package com.hong.demo;   
 import java.util.Scanner; 
 public class Digui 
 {  
 	public static void main(String[] args) 
    { int n; 
      double value;