为类构造函数使用两个不同的输入

时间:2013-09-28 18:58:00

标签: java string class object constructor

我正在编写一个程序,我需要多个不同的类来记录员工的信息。此信息包括员工编号,姓名,地址和雇用日期。我已经完成了员工编号课程,但是我的姓名课程出了问题。这是我的代码:

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对象。

基本上,我希望First Name和Last Name是单独的输入字符串,但是在创建Name n1时将它们放在一起。谁能告诉我应该怎么做呢?

4 个答案:

答案 0 :(得分:1)

我认为在创建Name对象时,您应该通过构造函数来限制用户传递两个名称。

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

因此,Name Object必须具有此属性值。

答案 1 :(得分: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);

在Name类

static class Name {

    private String firstName;
    private String lastName;

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

}

答案 2 :(得分: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);

答案 3 :(得分:0)

你需要一个像这样的双参数构造函数:

class Name {
    String firstName;
    String lastName;

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