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