0

一度に 1 行ずつユーザー入力を読み取ってオブジェクトを作成するにはどうすればよいですか。次に、どれがArrayListに入りますか? ご覧のとおり、名前を入力すると、名前が分割され、姓のみが保存されます。または、名-ミドル-姓の場合、ミドル ネームとラスト ネームが格納されます。

最初に名前を入力すると、最初に search メソッドが呼び出され、その名前が ArrayList に既に存在するかどうかが確認されます。それはうまくいきます。名前がリストにない場合、検索は null を返します。次に、入力を促し、メソッドを追加します。

case 1: {
            System.out.print("Enter the Students name: ");
            String nameSearch = kbd.next();
            Student stu = dc.search(nameSearch );
            if (stu != null) {
                System.out.println(stu); 
            }
            else {
                System.out.print("Enter name AGAIN: ");
                String nameAdd= kbd.nextLine();

                System.out.print("Enter grade (freshman, sophomore, junior, senior: ");
                String categoryAdd = kbd.nextLine();

                System.out.print("Major: ");
                String majorAdd = kbd.nextLine();

                System.out.print("Enter graduating year: ");
                int yearAdd = kbd.nextInt();

                System.out.print("Enter student ID: (xxxx.xxxx: ");
                double idAdd= kbd.nextDouble();

                dc.add(nameAdd, categoryAdd , majorAdd , 
                        yearAdd , idAdd);
            }
            break;
        }

私の入力:

Enter the Students name: John Smith
Not Found(Search Method)
TEST
Enter name AGAIN: TEST2
Enter grade (freshman, sophomore, junior, senior: senior
Major: Computer Science
Enter graduating year: 2013
Enter student ID: 1234.4567

ArrayList を印刷するときにオブジェクト内にどのように格納されるか:

Name: Smith
Grade: senior
Major: Computer Science
Graduating Year: 2013
Student ID: 1234.4567

追加方法:

public Student add(String name, String grade,
        String major, int year, double id) {
    Student newStu = new Student(addName, addGrade, addMajor, addYear, addId);
    studentList.add(newStu );
    System.out.println("Added!");
    return null;
}
4

3 に答える 3

0

kbdをBufferedReader (例) にしてから、これを行います...BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in));

case 1: {
            System.out.print("Enter the Students name: ");
            String nameSearch = kbd.readLine();
            Student stu = dc.search(nameSearch );
            if (stu != null) {
                System.out.println(stu); 
            }
            else {
                System.out.print("Enter name AGAIN: ");
                String nameAdd= kbd.readLine();

                System.out.print("Enter grade (freshman, sophomore, junior, senior: ");
                String categoryAdd = kbd.readLine();

                System.out.print("Major: ");
                String majorAdd = kbd.readLine();

                System.out.print("Enter graduating year: ");
                int yearAdd = Integer.parseInt(kbd.readLine());

                System.out.print("Enter student ID: (xxxx.xxxx: ");
                double idAdd= Double.parseDouble(kbd.readLine());

                dc.add(nameAdd, categoryAdd , majorAdd , 
                        yearAdd , idAdd);
            }
            break;
        }
于 2013-04-07T07:08:21.820 に答える