您好,登錄后才能下訂單哦!
轉載于 : http://www.verejava.com/?id=16992811364048
/** 知識點: 關鍵字 instanceof 題目:輸出參加Oracle大會的人分類信息 思路: 1. 抽象出類 : 會議廳(Hall), 人種(Person){程序員(Programer),管理者(Manager)} 2. 找出類關系: 2.1 {程序員(Programer),管理者(Manager)} 是 人種(Person) 分類 2.2 人種(Person)->會議廳(Hall) 3. 找出屬性: 3.1 會議廳(Hall)(會議名稱,容納人數) 3.2 人種(Person)(姓名) 4. 找出方法: 4.1 要參加會議 會議廳(Hall) 登記參加會議的每個人信息 register(Person p) 4.2 輸出參加大會的人信息 output() */public class TestInstanceof { public static void main(String[] args) { //Oracle說我要在Moscore center 舉辦一年一度的大會, 需要一個 //容納1000人的會廳 //開一個能容量1000人的會廳 Hall h = new Hall(1000); //開始登記注冊 h.register(new Programer("Joseph")); h.register(new Programer("james")); h.register(new Manager("Page")); h.register(new Manager("Joe")); //打印輸出 h.output(); } }class Hall { private String name;//會議名稱 private Person[] persons;//登記冊 public Hall(int maxSize) { persons = new Person[maxSize]; } //登記每個參加會議的人信息 //思路: // 1. 循環檢測如果沒有超出容量,將該人添加到 登記冊 // 如果超出容量,提示已經沒有注冊名額,注冊完畢 public void register(Person newPerson) { int flag = 0;//檢測是否注冊完畢 for (int i = 0; i < persons.length; i++) { if (persons[i] == null) { persons[i] = newPerson; break; } flag++; } if (flag == persons.length) { System.out.println("已經沒有注冊名額,注冊完畢"); } } //輸出參加大會的人分類信息 // 思路: // 1. 循環打印出每個已經參加登記人的信息 // 2. 但是在循環打印的時候要判斷 到底打印的是 程序員 還是 經理 public void output() { for (int i = 0; i < persons.length; i++) { //打印已經登記的人信息 if (persons[i] != null) { if (persons[i] instanceof Programer) { System.out.println(persons[i].getName() + " 屬于程序員"); } if (persons[i] instanceof Manager) { System.out.println(persons[i].getName() + " 屬于經理以上級別"); } } } } }abstract class Person { protected String name;//姓名 public Person(String name) { this.name = name; } public String getName() { return this.name; } }class Programer extends Person { public Programer(String name) { super(name); } }class Manager extends Person { public Manager(String name) { super(name); } }
轉載于 : http://www.verejava.com/?id=16992811364048
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。