Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种使用用户输入JAVA将变量从主类发送到子类的方法_Java_String_Variables_Inheritance_Subclass - Fatal编程技术网

是否有一种使用用户输入JAVA将变量从主类发送到子类的方法

是否有一种使用用户输入JAVA将变量从主类发送到子类的方法,java,string,variables,inheritance,subclass,Java,String,Variables,Inheritance,Subclass,所以我正在开发一个(据推测)简单的java应用程序,它使用来自用户的控制台输入来更改另一个类中的私有变量。现在,我可以通过手动将变量输入到对象中,直接从主类更改EmpCls类中私有变量的值,例如。 EmpCls empObject1=新的EmpCls(“josh”)

所以我正在开发一个(据推测)简单的java应用程序,它使用来自用户的控制台输入来更改另一个类中的私有变量。现在,我可以通过手动将变量输入到对象中,直接从主类更改
EmpCls
类中私有变量的值,例如。
EmpCls empObject1=新的EmpCls(“josh”)EmpCls empObject1=新的EmpCls(ctName)要工作吗?其中
ctName
是用户输入的变量。以下是主类中的相关代码:

import java.util.*;
public class NewWan {
    static Scanner console = new Scanner(System.in);
    public static void main(String[] args) {

    EmpCls empObject1 = new EmpCls(ctName);
    String ctName = empObject1.getName();

    System.out.println("enter name: ");
    ctName = console.next();

    }
}
以及有关的子类:

public class EmpCls {

    private String name;
    private String ext;
    private int yearStarted = 0;

    public EmpCls()
    {

    }

    public EmpCls(String inName)
    {

        this.name = inName;

    }

    public void setEmpDetails(String inName) //, String inExt, int inYearStarted)
    {

        this.name = inName;
//          this.ext = inExt;
 //         this.yearStarted = inYearStarted;

    }

    public String getName()
    {
        return this.name;

    }

    public int getYearStarted()
    {
        return this.yearStarted;
    }

    public String getExt()
    {
        return this.ext;
    }

    public void displayDetails()
    {
        System.out.println("Name: " + name);
        System.out.println("Ext: " + ext);
        System.out.println("Year Started" + yearStarted);
    }


}

对代码的某些部分进行注释只是为了更容易地排除故障,其他部分是我正在处理的另一个问题的一部分。

您只需对语句重新排序,并删除没有意义的语句:

public static void main(String[] args) {
    System.out.println("enter name: ");
    String ctName = console.next();
    EmpCls empObject1 = new EmpCls(ctName);
}

哼。。。只是为了以良好的方式组织代码?在获取值和声明变量之前使用变量。。。奇怪的方式^^

public static void main(String[] args) {

    System.out.println("enter name: "); 
    String ctName = console.next();

    EmpCls empObject1 = new EmpCls(ctName);

    System.out.println("You just enter " + empObject1.getName()); 
}

也这么说吧,天哪,这很管用。谢谢我还是有点不懂装懂,所以请原谅这个奇怪的排序问题,每个人都有一天开始考虑使用和配置一个好的IDE,比如Eclipse、Netbeans或IntelliJ。他们是强大的,向你展示了大量的错误,就像这一个!