有没有办法使用用户输入 JAVA 将变量从 main class 发送到 subclass
Is there a way to send variables from main class to subclass using user input JAVA
所以我正在开发一个(据说)简单的 java 应用程序,它使用用户的控制台输入来更改另一个 class 中的私有变量。现在我可以通过手动将变量输入到对象中来直接从主 class 更改 EmpCls
class 中私有变量的值,例如
EmpCls empObject1 = new EmpCls("josh");
但我怎样才能得到这样的东西
EmpCls empObject1 = new EmpCls(ctName);
上班?其中 ctName
是用户输入的变量。这是主要 class:
中的相关代码
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();
}
}
有问题的子class:
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());
}
所以我正在开发一个(据说)简单的 java 应用程序,它使用用户的控制台输入来更改另一个 class 中的私有变量。现在我可以通过手动将变量输入到对象中来直接从主 class 更改 EmpCls
class 中私有变量的值,例如
EmpCls empObject1 = new EmpCls("josh");
但我怎样才能得到这样的东西
EmpCls empObject1 = new EmpCls(ctName);
上班?其中 ctName
是用户输入的变量。这是主要 class:
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();
}
}
有问题的子class:
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());
}