-3

BlueJを使用してJavaのイントロコースを受講します。

2つのオブジェクトと、関連する詳細を含むaccountというオブジェクトと、アカウントを含むbankAccountsというArrayListがあります。

whileループを使用してbankAccountsに複数のアカウントを追加する必要があります。配列リストにオブジェクトを追加するのは簡単ですが、BlueJはアカウントを選択するように促します。

このプロセスを自動化する方法がわかりません。次のようなことを試してみてください。

public void addMultipleAccounts()
   {
       reader = new InputReader();

       System.out.println("How many accounts would you like to add?");
       int accountsToAdd = Integer.parseInt(reader.getInput());

       while (accountsToAdd>0) {
           System.out.println("Which account would you like to add?");
           String accountToAdd = reader.getInput();
           bankAccounts.add(accountToAdd);
           accountsToAdd--;
       }
   }

これは明らかに機能しません。InputReader()は、Scannerを使用して文字列を収集する教授提供のクラスです。

これを行う簡単な方法があると確信していますが、私はそれを見つけることができません...オブジェクトの入力をユーザーに求める方法がわかりません。BlueJは常にそれを自動的に行います。

4

2 に答える 2

0

何を実装しようとしているのかわかりません。たぶん、この制御を行うためのより良い方法を考える必要があります。私はあなたが欲しいものだと思ったもののコードを作成しようとしました。

public void addMultipleAccounts() {
    Scanner s = new Scanner(System.in);
    System.out.println("How many accounts would you like to add?");
    int accountsToAdd = s.nextInt();

    while (accountsToAdd > 0) {
        System.out.println("Which account would you like to add?");
        String accountToAdd = s.nextLine();
        bankAccounts.add(accountToAdd);
        accountsToAdd--;
    }
}
于 2013-03-27T01:40:20.567 に答える
0
import java.util.ArrayList;
import java.util.Scanner;


public class Something {

    /**
     * @param args
     */
    public static void main(String[] args) {
        ArrayList<aClass> list = new ArrayList<aClass>();
        String first, second;
        Scanner scanner = new Scanner(System.in);
        int repeat;
        System.out.println("How many items would you like to enter?");
        repeat = scanner.nextInt();

        for (int i = 0; i < repeat; i++) {
            System.out.println("Enter your first parameter");
            first = scanner.next();
            System.out.println("Enter your second parameter");
            second = scanner.next();
            aClass temp = new aClass(first,second); //This will be put into the array
            list.add(temp);
        }

    }

}

class aClass{

    private String something, somethingelse;

    public aClass(String str1, String str2){
        something = str1;
        somethingelse = str2;
    }

}

この場合、'aClassはアカウントクラスであり、listはBackAccounts配列リストです。明らかに、アカウントクラスに一致するようにパラメータを変更する必要がありますが、これが実装方法です。

于 2013-03-27T01:44:32.360 に答える