-3

CEO=trueの人の名前を呼びたいです。この場合はTristenです。どうすればいいですか?私はすでにパブリック文字列名とパブリックブールCEOを静的に変換しました。

私が到達しようとしているのは、このように見えるということです

system.out.printIn( "あなたのCEOはTristenです");

public class business {

public static String name;
public String lastname;
public String email;
public String department;
public static boolean CEO;
public boolean employee;
public boolean assistant;
public boolean head;
public boolean manager;

public static void main(String[]args){


    business tristen;
    business jan;
    business robert;
    business kevin;
    business ben;

    tristen = new business();
    tristen.name = "Tristen";
    tristen.lastname = "Korsuize";
    tristen.email = " ";
    tristen.department = "Magic";
    tristen.CEO = true;
    tristen.employee = false;
    tristen.assistant = false;
    tristen.head = false;
    tristen.manager = false;

    jan = new business();
    jan.name = "Jan";
    jan.lastname = "Lindenberg";
    jan.email = "Jan002_003@hotmail.com";
    jan.department = "Magic";
    jan.CEO = false;
    jan.employee = false;
    jan.assistant = false;
    jan.head = false;
    jan.manager = true;

    robert = new business();
    robert.name = "Robert";
    robert.lastname = "Irving";
    robert.email = " ";
    robert.department = "Magic";
    robert.CEO = false;
    robert.employee = false;
    robert.assistant = true;
    robert.head = false;
    robert.manager = false;


    if(business.CEO = true){
        System.out.println("Your CEO is"+ " "+ business.name);
    }

    }

}
4

2 に答える 2

3

私は人々をコレクションに入れて、それを繰り返します。

List<business> businesses = new ArrayList<business>();
// add people here...

foreach (business b : businesses) {
   if (b.isCEO()) {
     System.out.println(b);
   }
}

いくつかの追加コメント:

  1. Java の命名規則では、クラス名を大文字にする必要があります。Business
  2. あなたのメンバーは公開されています。それらを非公開にし、コンストラクターを介してインスタンス化します。これにより、OO プログラミングの重要な機能であるカプセル化が促進されます。メソッドを介してそれらを公開します(実装を非表示にするため)
  3. オブジェクトに CEO かどうかを尋ねます。フィールドを引き出して自分で決定しないでください。上記の例を参照してください
  4. 使用しないようにしますstatic。あなたが持っているすべての情報は、オブジェクトに結び付けられています。
于 2013-02-22T12:34:16.897 に答える
2

CEOandフィールドは静的であってはnameなりません。business静的フィールドは、個々のインスタンスだけでなく、クラスのすべてのインスタンスに値が与えられることを意味します。例えば;

tristen = new business();
tristen.CEO = true;

jan = new business();
jan.CEO = false;  //CEO is now false for all instances of business (tristen and jan)

すべてのインスタンスを作成時に何らかの形で保存したい場合がありますCollection。その後、コレクションを反復処理して、どれが CEO であるかを確認できます。

于 2013-02-22T12:39:58.043 に答える