第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

與面向?qū)ο蟮姆椒ㄗ鞫窢?zhēng)

與面向?qū)ο蟮姆椒ㄗ鞫窢?zhēng)

藍(lán)山帝景 2023-04-13 15:02:52
我無法弄清楚getExits()需要什么才能獲得問題請(qǐng)求的輸出。//構(gòu)造函數(shù)public class Room {    private String name;    private String description;    private Room north;    private Room east;    private Room south;    private Room west;    public Room (String name, String description){        this.name = name;        this.description = description;    }    public Room getEast(){        return this.east;    }    public String getExits (){        //    }       public String getName(){        return this.name;    }    public Room getNorth(){        return this.north;    }    public Room getWest(){        return this.west;    }    public Room getSouth(){        return this.south;    }    public void setExits (Room n, Room e, Room w, Room s){        this.north = n;        this.east = e;        this.west = w;        this.south = s;    }    public String toString(){        return String.format("%s\n%s\n%s", this.name, this.description,getExits());    }}//主要方法public class Tester{    public static void main(String []args){        Room hall = new Room ("Hall", "It's Dark");        Room bed = new Room ("Bed", "Tiny Room");        Room bath = new Room ("Bath", "Toilets here");        Room dine = new Room ("Dine", "Table and chairs");        hall.setExits(bed, bath, dine, null);        System.out.println(hall);    }}預(yù)期輸出:HallIt's DarkNorth: DineEast: BathWest: Dining
查看完整描述

3 回答

?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

獲得所需內(nèi)容的“面向?qū)ο蟆狈椒ㄊ歉采w類toString()中的方法Room,以便它返回房間的名稱。


然后修改getExits(),如下所示:


public String getExits (){

    StringBuilder sb = new StringBuilder();

    if(this.north != null) sb.append(this.north.toString()).append(" North") else sb.append("No Exit for: North");

    ...


    return sb.toString();

}

....


public class Room {

    private String name;


    ...


    @Override

    public String toString() {

        return this.name;

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

exit不是您可以用String. 在 OO 世界中,它應(yīng)該是對(duì)更有意義的對(duì)象的引用。我會(huì)和


public Collection<Room> getExits();

或者


public Map<String, Room> getExits();

它準(zhǔn)確地描述了您可以從大廳到達(dá)哪里。在這里,我們假設(shè)“出口”是通往另一個(gè)房間的門口。


你可以回來


Arrays.asList(northRoom, eastRoom, southRoom, westRoom);

或者


Map<String, Room> map = new HashMap<>();

map.put("north", northRoom);

...

return map;

然后您將能夠提供String返回集合中的任何表示。


它就像一個(gè)放置在大廳里的標(biāo)志,可以幫助人們導(dǎo)航。盡管它可以用另一個(gè)標(biāo)志(更詳細(xì)/準(zhǔn)確的標(biāo)志)代替,但建筑物的結(jié)構(gòu)是不變的,您不會(huì)改變它。您只是以不同的方式表示它。


String simpleSign = "You can go to: " + getExits().stream().map(Object::toString).collect(Collectors.join(", "));

或者


String detailedSign = "Directions to go: " + getExits().entrySet().stream().map(e -> e.getKey() + " -> " + e.getValue().toString()).collect(Collectors.join("\n"));



查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

這是一種做事的方法。這有點(diǎn)尷尬,因?yàn)槟仨殲槊糠N情況檢查 null - 如果不是這種情況,您可以刪除這些檢查。


   public String getExits (){

       List<String> exits = new ArrayList<>();

        if (north != null) exits.add("North: " + north.name);

        if (south != null) exits.add("South: " + south.name);

        if (east != null) exits.add("East: " + east.name);

        if (west != null) exits.add("West: " + west.name);

        return String.join("\n", exits);

    }


查看完整回答
反對(duì) 回復(fù) 2023-04-13
  • 3 回答
  • 0 關(guān)注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)