私は、ユーザーが入力したデータからオブジェクトを作成する必要がある宿題プロジェクトに取り組んでいます。 Personクラスを拡張するCustomerというクラスと、Personクラスを拡張して社会保障番号を返すEmployeeというクラスが含まれています。ユーザーが入力したデータからオブジェクトを作成する
以下のメインプログラムのコードを貼り付けました。私はいくつかのことについて少し混乱しています。まず、私が情報(名、姓など)を集めているときに、何とかそこでPersonクラスにアクセスするはずですか?
第2に私はより明白に推測しますが、オブジェクトを作成するにはどうすればいいですか?私が持っていた場合ので、私は見ていない私は、ユーザーからの情報を収集しておりますが、それは
Person firstName = new Person(Jack);
を言うように、これまで私は、私が見つけるオンライン読んだのすべての例では、彼らはすでに情報を入力するように見えますどのようにそれを伝えるか
Person firstName = new Person (enter info from user here);
これは本当にばかな質問ですが、私はPersonオブジェクトを受け入れる静的メソッドを作成する必要があります。私はそれが
Public Static print()
であると仮定していますが、どのように私は人のクラスから何かを印刷するためにそれを教えていますか?静的メソッドを作成するには どのようにそれを知っていますか?
ほとんどの私の例では、ユーザーが入力するのではなく、すべての情報を含むクラスが含まれています。これは混乱しています。その情報を収集する。
import java.util.Scanner;
public class PersonApp
{
public static void main(String[] args)
{
//welcome user to person tester
System.out.println("Welcome to the Person Tester Application");
System.out.println();
Scanner in = new Scanner(System.in);
//set choice to y
String choice = "y";
while (choice.equalsIgnoreCase("y"))
{
//prompt user to enter customer or employee
System.out.println("Create customer or employee (c/e): ");
String input = in.nextLine();
if (input.equalsIgnoreCase("c"))
{
String firstName = Validator.getString(in, "Enter first name: ");
String lastName = Validator.getString(in, "Enter last name: ");
String email = Validator.getEmail(in, "Enter email address: ");
String custNumber = Validator.getString(in, "Customer number: ");
}
else if(input.equalsIgnoreCase("e"))
{
String firstName = Validator.getString(in, "Enter first name: ");
String lastName = Validator.getString(in, "Enter last name: ");
String email = Validator.getEmail(in, "Enter email address: ");
int empSoc = Validator.getInt(in, "Social security number: ");
}
}
System.out.println("Continue? y/n: ");
choice = in.next();
}
}
ありがとうございました。私はもう数回それを読む必要がありますが、私は助けに感謝します。私は、cusNumberとempSocを含むEmployeeクラスとCustomerクラスのoverriden toString()を持っています。あなたが投稿したものとは違う何かをしなくてはなりませんか? –
'toString()'メソッドは、アクセサフィールドを使わなくても、ステートメントを簡単に印刷できるようにします。これは、 'Object'に関する情報を出力するためのより好ましい方法です。静的voidメソッドを使用するという代入に必要な場合を除いて、私は 'toString()'を選択します。 – Makoto
私はあなたが今言っていることを理解していると思います。割り当てを引用するには、「オブジェクトのデータをコンソールに出力するには、このアプリケーションは、Personオブジェクトを受け入れるprintという静的メソッドを使用する必要があります。 –