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;

Name n1 を作成して姓と名を組み込むステートメントを取得するにはどうすればよいですか? ユーザー入力によって両方の名前を個別に記録したいのですが、両方を組み合わせて Name オブジェクトを作成します。

基本的には、名前と姓を個別の入力文字列にしたいのですが、名前 n1 を作成するときに両方をまとめます。どうすればいいのか誰か教えてもらえますか?

4

4 に答える 4

1

Name Object を作成する際に、両方の名前を渡すようにコンストラクターでユーザーを制限する必要があると思います。

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

そのため、Name オブジェクトにはこのプロパティ値が必要です。

于 2013-09-28T19:00:28.427 に答える
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;
    }

}
于 2013-09-28T19:03:31.573 に答える
0

Name@SubhrajyotiMajumder で示されるように、名と姓の 2 つの引数を取るクラスのコンストラクターを定義します。

次に、ユーザーに 2 つの名前を入力してもらい、それらを使用して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);
于 2013-09-28T19:03:27.963 に答える
0

そのような2つの引数コンストラクターが必要ですか:

class Name {
    String firstName;
    String lastName;

    public Name(String first, String last) {
        this.firstName = first;
        this.lastName = last;
    }
}
于 2013-09-28T19:03:36.723 に答える