所以我的问题非常简短,我有一个java构造函数,以及一个必须使用构造函数构建对象的java类。我需要询问用户构建对象所需的参数。通常,做我在正确的构造函数方法中放置了所需的扫描程序(用于创建用户输入参数),或者我在使用构造函数的类方法中直接询问这些?例如,使用construc.java(它是构造函数)并包含以下方法:¸
public void setNumber(int JNumber){
if(JNumber>=0){
Number = JNumber;
和一个名为caller.java的文件包含以下方法:
public void add();
construc test = new construc(string,int,int,string,string); //instance to use the constructor methods
所以基本上我想知道在哪里放置这个代码部分,要求分配对象的数字:
Scanner thenum = new Scanner(System.in);
System.out.print("Entrez la quantité: \n");
int ob1num = thenum.nextInt();
ob1num = JNumber;
setNumber(JNumber);
我在Java(和初学者)中有点混淆。谢谢!
答案 0 :(得分:0)
这取决于您希望如何使用setNumber()
方法。如果您还想使用它来设置不基于用户输入的数字,建议将Scanner
放在方法之外。就个人而言,我会在方法之外设置Scanner
,这会使方法更加通用。如果您需要扫描多个数字,可以将扫描部分放在自己的方法中,该方法根据用户输入返回int
。
class YourClass {
YourClass() {
//Initialize
setNumber();
}
}
public static main(String[] args) {
//Create new YourClass object and set value from user input
YourClass object = new YourClass();
}
答案 1 :(得分:0)
使用MyClass中的getter和setter方法。您的主类方法可以读取值
Scanner thenum = new Scanner(System.in);
System.out.print("Entrez la quantité: \n");
int ob1num = thenum.nextInt();
并将值传递给构造函数
MyClass(int JNumber,String JString){
this.JNumber = JNumber;
this.JString = JString;
}