2013-09-28 12 views
0

我正在編寫一個程序,我需要多個不同的類來記錄關於員工的信息。這些信息包括員工編號,姓名,地址和僱用日期。我已經完成了員工編號班,但是我的名字班有問題。這裏是我的代碼:爲一個類構造函數使用兩個不同的輸入

import javax.swing.JOptionPane; 

public class AssignmentTen 
{ 
    public static void main (String[] args) 
    { 
     int input1 = getInt ("Enter Employee Number:"); 
     Employee e1 = new Employee(input1); 
     System.out.println(e1.number); 

     Name n1 = new Name(); 
     System.out.println(n1.firstName + " " + n1.lastName); 
    } 

    public static int getInt(String paramString) 
    { 
     String str = JOptionPane.showInputDialog(paramString); 
     return Integer.parseInt(str); 
    } 
} 

class Employee 
{ 
    int number; 

    Employee(int newNumber) 
    { 
     number = newNumber; 
    } 
} 

class Name 
{ 
    String firstName; 
    String lastName; 

我怎樣才能在其中創建名稱N1納入第一和最後一個名字的聲明?我希望通過用戶輸入分別記錄這兩個名稱,但要將它們組合起來以創建Name對象。

基本上,我希望名字和姓氏是單獨的輸入字符串,但是在創建名稱n1時將它們放在一起。任何人都可以告訴我應該怎麼做?

+0

「將它們放在一起時名稱n1創建」 - 你的意思是合併成一個字符串? – david

+0

我不明白。姓名已經有單獨的名字和姓氏字符串。只需添加一個帶有兩個參數的構造函數即可! – isnot2bad

+0

@david如果這會導致這兩個看起來像命令行中的全名,那麼是的。 – user2709168

回答

1

更改您的主要方法..

String firstName = JOptionPane.showInputDialog("Enter firstname"); 
    String lastName = JOptionPane.showInputDialog("Enter lastname");  
    Name n1 = new Name(firstName,lastName); 
    System.out.println(n1.firstName + " " + n1.lastName); 

而且在名稱類

static class Name { 

    private String firstName; 
    private String lastName; 

    public Name(String firstName,String lastName){ 
     this.firstName = firstName; 
     this.lastName = lastName; 
    } 

} 
1

我認爲在創建名稱對象時,應該通過構造函數限制用戶傳遞兩個名稱。

class Name 
{ 
    private String firstName; 
    private String lastName; 
    public Name(String fname,String lname){ 
     this.firstName = fname; 
     this.lastName = lname; 
    } 
} 

所以名稱對象必須具有此屬性值。

0

Name類定義一個構造函數,該構造函數接受兩個參數,第一個名稱和最後一個名稱,如@SubhrajyotiMajumder所示。

然後詢問用戶輸入兩個人的名字,並用它們來構建一個Name對象:

Scanner sc = new Scanner(System.in); 
System.out.println("Enter first name : "); 
String firstName = sc.nextLine(); 
System.out.println("Enter last name : "); 
String lastName = sc.nextLine(); 

Name n1 = new Name(firstName, lastName); 
0

您是否需要這樣的雙參數構造函數:

class Name { 
    String firstName; 
    String lastName; 

    public Name(String first, String last) { 
     this.firstName = first; 
     this.lastName = last; 
    } 
} 
相關問題