2016-10-07 6 views
-2

Итак, я работаю над (предположительно) простым Java-приложением, которое использует консольные входы от пользователя, для изменения частных переменных в другом классе. Теперь я могу изменить значение частных переменных в классе EmpCls непосредственно из основного класса, вручную введя переменную в объект, например. EmpCls empObject1 = new EmpCls("josh"); но как я могу получить что-то вроде этого EmpCls empObject1 = new EmpCls(ctName); работать? где ctName - это переменная, которую вводит пользователь. здесь соответствующий код из основного класса:Есть ли способ отправить переменные из основного класса в подкласс с использованием пользовательского ввода JAVA

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); 
    } 


} 

некоторые части кода комментировал только для того, чтобы легче снимать неприятности, другие части являются частью другого проблема im работаю.

+0

вызов его точно так же –

ответ

0

Hum ... просто организовать свой код в хорошем смысле? Вы можете использовать переменную перед тем, как значение, и, прежде чем объявить его ... Странный способ ^^

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()); 
} 
+0

Святое дерьмо, что работает. Благодаря! Im все еще немного noob так извините странный заказ haha ​​ –

+0

Нет проблем, все начали в один прекрасный день ^^ Подумайте об использовании и настройке хорошей IDE для этого, например, Eclipse, Netbeans или IntelliJ. они мощные, чтобы показать вам большое количество ошибок, как этот! –

1

Вам просто нужно реорганизовать к заявлениям немного и удалить тот, который не имеет смысла:

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

ты звезда, спасибо дружище. –