具体如何放置方法扫描器(Java)

时间:2014-12-13 21:54:45

标签: java methods constructor java.util.scanner getter-setter

所以我的问题非常简短,我有一个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(和初学者)中有点混淆。谢谢!

2 个答案:

答案 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;
 }