想要输入一个数字,然后建立新对象,调用Jiecheng类中的jiec方法。无法通过编译,错在什么地方?谢谢
package workshop;
import java.io.*;
public class Test3 {
public static void main(String[] args){
BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
System.out.println( "键入一个整数 ");
int b=0;
    b=Integer.parseInt(a.readLine());//进行输入,并把输入的数存入n1中
    Jiecheng c=new Jiecheng;
    c.jiec(b);
}
}class Jiecheng{
void jiec(int j){
int sum=0,jc=1;
for(int i=1;i<=j;i++)
{
  jc=jc*i;
  sum=sum+jc;
}
System.out.println(sum);
}
}

解决方案 »

  1.   

    对象可以这样new吗? Jiecheng c=new Jiecheng;
      

  2.   

    Jiecheng c=new Jiecheng();<--------
      

  3.   

    Jiecheng c=new Jiecheng;改成
    Jiecheng c=new Jiecheng();另外我发现好多人读取控制台输入的内容都用的是BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
    System.out.println( "键入一个整数 ");
    int b=0;
      b=Integer.parseInt(a.readLine());为什么不用int num=new Scanner(System.in).nextInt();呢
      

  4.   

    晕,楼主写代码仔细点,Jiecheng c=new Jiecheng;后面少个括号另外,main方法throws Exception或者自己try...catch一下经测试,通过编译
      

  5.   

    回3楼,因为Scanner是JDK1.5以后才有的,好多老程序员用惯了,包括很多老书都是BufferedReader,甚至很多人根本不知道有Scanner这么个类
      

  6.   


    import java.io.*;
    public class Test3 {
    public static void main(String[] args) throws NumberFormatException, IOException{
    BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
    System.out.println( "键入一个整数 ");
    int b=1;
      b=Integer.parseInt(a.readLine());//进行输入,并把输入的数存入n1中
      Jiecheng c=new Jiecheng();
      c.jiec(b);
    }
    }class Jiecheng{
    void jiec(int j){
    int sum=0,jc=1;
    for(int i=1;i<=j;i++)
    {
    jc=jc*i;
    sum=sum+jc;
    }
    System.out.println(sum);
    }
    }
    照我那么改下就OK了。注意数值不要输入过大,否则查过int范围。。
      

  7.   

    Scanner在JDK1.4及以下版本是没有的
      

  8.   

    main函数的方法修改成public static void main(String[] args) {
    BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("please input number ");
    int b = 0; try {
    b = Integer.parseInt(a.readLine());
    } catch (NumberFormatException e) { e.printStackTrace();
    } catch (IOException e) { e.printStackTrace();
    }
    Jiecheng c = new Jiecheng();
    c.jiec(b);
    }