需要帮助:从控制台输入int并将其传递给不同类中的方法

时间:2010-05-31 15:19:47

标签: java syntax io

我是初学者。我想从控制台读取一个数字a,然后将它们存储在变量中以用作传递给另一个类(不同的.java文件)。

如何编写2个类?

public class PassedInMethod{ 

   private int a;

   public PAssMethod(int a) { 
      a = a; // TODO: where to get the a? 
      System.out.println("a was passed in!"+a);
   }
} 



public class Mainclass {

  public static void main( String args[] ) {
      Scanner input = new Scanner( System.in );

      int a;

      System.out.print( "Enter your nember: " );
      a = input.nextInt();

      PassedInMethod(int a);
   }
}

3 个答案:

答案 0 :(得分:2)

如果要创建PassedInMethod类的实例,其中成员变量a包含传递给构造函数的值。

尝试更改

PassedInMethod(int a);

PassedInMethod myObj = new PassedInMethod(a);

此外,如果要将实例变量更新为您需要执行的参数值

this.a = a;

因为参数“隐藏”实例varuable。

如果您不想创建实例,并且只是调用其他类中的方法,则需要将该方法设置为静态,如下所示:

public static void PassMethod(int a) {
    // ....
}

然后你可以像这样调用这个方法

PassedInMethod.passMethod(a);

然而,

PassedInMethod对于一个班级来说不是一个非常好的名字,但我确信这只是为了问题中的例子。

答案 1 :(得分:0)

您需要更改

PassedInMethod(int a);

new PassedInMethod(a);

答案 2 :(得分:0)

这看起来更像是你想要的。您的代码有一些语法错误等。

public class PassedInMethod {
    private int a;

    public PAssMethod(int a) { 
        this.a = a;
        System.out.println("a was passed in!"+a);
    }
}

public class Mainclass {
    public static void main( String args[] ) {
        Scanner input = new Scanner( System.in );
        int a;

        System.out.print( "Enter your nember: " );
        a = input.nextInt();

        PassedInMethod myobj = new PassedInMethod();
        myobj.PAssMethod(a);
    }
}