大家好,我是一位java新手。
我是刚从C转到JAVA的。准备做ACM题目。但是老是出错,,郁闷。各位大虾帮忙看看,不胜感激。
import java.io.*;
import java.util.*;
public class Main
{
    public class  Sum
{
Sum()
{
}
        private int i,sum;
int calculate(int x)
{
sum=0;
for(i=1;i<=x;i++)
            sum=sum+i;
return sum;
}
}
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
        int a, b;

        while(cin.hasNextInt())
        { Sum aa=new Sum();
            a = cin.nextInt();
b=aa.calculate(a);
System.out.println(b);
        }
    }}

解决方案 »

  1.   

    内部类要依赖于外部类的对象,
    必须先创建外围内的对象,然后才能创建内部类的对象。Main m=new Main();
    Main.Sum aa=m.new Sum();
      

  2.   

    public class Sum
    加个静态修饰就行
    public static class Sum
      

  3.   

    你也可以把Sum类改成静态内部类,
    不过同时也要把成员变量sum改成static。
      

  4.   

    private static int sum;
    private static int i;
     public  static class Sum