0

スキャナーを使用してユーザー入力を取得し、作成した在庫リストに新しいアイテムを追加しようとしています。アイテムには、itemID、itemDesc、price、quantity、および reorderlevel の属性が必要です。

ユーザー入力を読み取り、作成した変数の 1 つとして認識し、リストに追加するにはどうすればよいでしょうか。

試してみましたが、それらを変数として認識していないようです

どんな助けでも大歓迎です。ありがとう

私の試み:

else if (i==1)
    {
        StockListInterface.doAddItem(item);

        System.out.println("Add New Item");
        System.out.println("****************");

        System.out.println("Enter ID    :>");
        Scanner scanner1 = new Scanner(System.in);
        String itemID = scanner1.nextLine();

        System.out.println("Enter Description    :>");
        Scanner scanner2 = new Scanner(System.in);
        String itemDesc = scanner2.nextLine();

        System.out.println("Enter Price    :>");
        Scanner scanner3 = new Scanner(System.in);
        String price = scanner3.nextLine();

        System.out.println("Enter Quantity    :>");
        Scanner scanner4 = new Scanner(System.in);
        String quantity = scanner4.nextLine();

        System.out.println("Enter Re-Order Level    :>");
        Scanner scanner5 = new Scanner(System.in);
        String reOrderLevel = scanner5.nextLine();

        System.out.println("Enter another? (Y/N)    :>");
    }
4

3 に答える 3

1

入力を受け取るたびに新しい Scanner を作成する必要はありません。以前に定義したスキャナーを次のように使用できます。

else if (i==1)
{
    StockListInterface.doAddItem(item);

    System.out.println("Add New Item");
    System.out.println("****************");

    System.out.println("Enter ID    :>");
    Scanner scanner1 = new Scanner(System.in);
    String itemID = scanner1.nextLine();

    System.out.println("Enter Description    :>");
    String itemDesc = scanner1.nextLine();

    System.out.println("Enter Price    :>");
    String price = scanner1.nextLine();

    System.out.println("Enter Quantity    :>");
    String quantity = scanner1.nextLine();

    System.out.println("Enter Re-Order Level    :>");
    String reOrderLevel = scanner1.nextLine();

    System.out.println("Enter another? (Y/N)    :>");
}

また、次のように「Y」または「N」の入力を取得するために、最後にもう 1 行追加することを検討する必要があります。

String addAnother = scanner1.nextLine();
于 2013-05-03T10:23:35.720 に答える