我是初学者。我想从控制台读取一个数字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);
}
}
答案 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);
}
}