想要输入一个数字,然后建立新对象,调用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);
}
}
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);
}
}
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();呢
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范围。。
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);
}