public static int i;
public void a(){
try{ 
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));                                                                                            
int grade1 = Integer.parseInt(reader.readLine()); 
i=grade1; 

catch(Exception i){
System.out.println(i);
}
}
/**
 * @param args
 */
public static void main(String[] args) {
// TODO 自动生成方法存根
DcxjTest s =new DcxjTest();
System.out.println("请输入你要用的数字");
s.a();
int p=i;
System.out.println("请输入你要用的数字"+p);
DcxjTest y =new DcxjTest();
System.out.println("请输入几个数相加");
y.a();
int q=i;
System.out.println("你输入要相加的数字是:"+q);
int sum=0;
int j=0;
for(int x=1;x<q+1;x++){
j=j*10+p;
sum=sum+j;
}
System.out.println("结果是:"+sum);这是做练习时写的,想调用两次方法a(),是不得实例化两次啊!有没有简单的方法啊!刚学不久,请教大侠们。

解决方案 »

  1.   

    我把你的程序改了下你看看:
    import java.io.*;class DcxjTest{
    public static int i; 
    /** 
    * @param args 
    */ 
    public static void main(String[] args)
     { 
    // TODO 自动生成方法存根 
    int sum=0; 
    int j=0; 
    int p=0,q=0;
    try
    {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));                                                                                           
    System.out.println("请输入你要用的数字"); 
    p=Integer.parseInt(reader.readLine()); 
    System.out.println("你输入的数字是:"+p);  System.out.println("请输入几个数相加"); 
    q=Integer.parseInt(reader.readLine()); 
    System.out.println("你输入要相加的数字是:"+q);  for(int x=1;x <q+1;x++){ 
    j=j*10+p; 
    sum=sum+j; 

    System.out.println("结果是:"+sum); 
    }
    catch(IOException e)
    {
    System.out.println(e);
    }
    }

    }
      

  2.   

    楼主很像是C的代码风格。
    你也可以让a方法有返回值
    public int a(){
    try{
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));                                                                                          
    return Integer.parseInt(reader.readLine());
    }
    catch(Exception i){
    System.out.println(i);
    }

    调用a方法就能直接接收到输入的值
      

  3.   

    实例化一次就行了,想调用多少次都行,如果a()是静态方法,连实例化都不用,直接DcxjTest.a()就可以调用了