1

別の質問をご覧いただきありがとうございます。

これは基本的な問題のようですが、解決できません。

私は従業員を含み、これらの従業員が働く部門を持っているプログラムに取り組んでいます。

forループを介してリスト内のすべての部門を含む配列リストの内容を出力するsetTextボックスを作成しました。

各部門に番号を付けてほしい、あなたは部門番号1:販売場所ブラジル、部門番号2:マーケティング場所米国を知っています。などですが、代わりにこれを実行しています。すべてを同じ行に印刷します。

部門番号:3部門番号:2部門番号:1部門名:マーケティング部門場所:ニューヨーク部門名:営業部門場所:ボストン部門名:経理部門場所:ロサンゼルス

私が使用したコードはこれでした

//prints a list of all employees in the system for user to choose from
for (int i = 0; i <  allDepartments.size(); i++) {
    System.out.print("Department no: ");
    departmentDetails.setText("Department no: "+(i+1)+departmentDetails.getText()+" "+ allDepartments.get(i));
    System.out.print(  allDepartments .get(i));
}

各部門に個別に番号が付けられるように、正しくコーディングする方法を教えてください。

4

1 に答える 1

0

\n文字列に改行文字()を入れていないようです。

また、テキストフィールドの内容を部門の詳細として使用しているように見えます。これが、department3 department2 department1 <details> loc1 loc2 loc3動作を取得する理由です。ループの各パスは、文字列の先頭に「department#」を追加し、末尾に「loc#」を追加します。ループ中のテキストの内容は次のようになります。

department1 <details> loc1
department2 department1 <details> loc1 loc2
department3 department2 department1 <details> loc1 loc2 loc3

文字列の追加との混同を避けるために、ループでStringBuilderを使用し、後で作成された文字列を処理してみてください。

StringBuilder departments = new StringBuilder();
//prints a list of all employees in the system for user to choose from
for (int i = 0; i < allDepartments.size(); i++) {
    departments.append("Department no: ");
    departments.append(i + 1);
    departments.append(" Department name: ");
    departments.append("<departmentDetails>");
    departments.append(" Location: ");
    departments.append(allDepartments.get(i));
    departments.append('\n');
}
System.out.println(departments.toString());

この例の部門名にサンプル文字列を使用しているのは、それがどこから来たのかわからないためです。

于 2011-10-25T09:10:56.013 に答える