従業員をモデル化するプログラムを作成する必要があります。従業員には、従業員番号、姓名、番地、都市、州、および 5 桁の郵便番号で構成される住所と、月、日、および年で構成される雇用日があります。従業員クラス、名前クラス、住所クラス、および日付クラスを使用する必要があります。各クラスは、ユーザーが入力した情報を記録する必要があります。ここに私が書いたものがあります:
import javax.swing.JOptionPane;
public class AssignmentTen
{
public static void main (String[] args)
{
System.out.println();
int input1 = getInt ("Enter Employee Number:");
Employee e1 = new Employee(input1);
System.out.println("#" + e1.number);
String input2 = getString ("Enter Employee First Name:");
String input3 = getString ("Enter Employee Last Name:");
Name n1 = new Name(input2, input3);
System.out.println(n1.firstName + " " + n1.lastName);
String input4 = getString ("Enter Employee Street:");
String input5 = getString ("Enter Employee City:");
String input6 = getString ("Enter Employee State (Initials):");
int input7 = getInt ("Enter Employee Zip Code (5 Digits):");
Address a1 = new Address (input4, input5, input6, input7);
System.out.println(a1.eStreet + " " + a1.eCity + " " + a1.eState + " " + a1.eZipCode);
int input8 = getInt ("Enter Employee Hire Month (MM):");
int input9 = getInt ("Enter Employee Hire Day (DD):");
int input10 = getInt ("Enter Employee Hire Year(YYYY):");
Date d1 = new Date (input8, input9, input10);
System.out.println("Hire Date: " + d1.month + "/" + d1.day + "/" + d1.year);
}
public static int getInt(String paramString)
{
String str = JOptionPane.showInputDialog(paramString);
return Integer.parseInt(str);
}
public static String getString(String paramString)
{
String str = JOptionPane.showInputDialog(paramString);
return str;
}
}
class Employee
{
int number;
Employee(int newNumber)
{
number = newNumber;
}
}
class Name
{
String firstName;
String lastName;
Name(String first, String last)
{
firstName = first;
lastName = last;
}
}
class Address
{
String eStreet;
String eCity;
String eState;
int eZipCode;
Address(String street, String city, String state, int zipCode)
{
eStreet = street;
eCity = city;
eState = state;
eZipCode = zipCode;
}
}
class Date
{
int month;
int day;
int year;
Date(int eMonth, int eDay, int eYear)
{
month = eMonth;
day = eDay;
year = eYear;
}
}
ただし、実装方法がわからない必要なものがまだいくつかあります。私の質問は、どうすればよいですか:
- 状態文字列が 2 文字より長いまたは短いものを表示しないようにする
- Address クラスの郵便番号変数に、5 文字を超える入力の最初の 5 文字のみを表示するようにします。
- 複数の従業員のデータを保存できる
- コマンドラインで何人の従業員情報を保存するかを指定できます
- 1 人の従業員のすべての情報を別のクラスに格納し、各従業員のすべての情報を含むオブジェクトを作成します。
コードをクリーンアップする方法についてのヘルプやアドバイスをいただければ幸いです。