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

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

Java - 如何檢查數(shù)組的值是否包含指定的值作為屬性

Java - 如何檢查數(shù)組的值是否包含指定的值作為屬性

蕪湖不蕪 2022-07-20 10:29:37
我有一組 Player 對(duì)象。球員有名字,當(dāng)我添加球員時(shí),我想檢查球員名字是否已經(jīng)存在。以下代碼永遠(yuǎn)不會(huì)引發(fā)異常,它只會(huì)添加重復(fù)的玩家。public void addPlayer(String name, boolean gender, int index)  throws RuntimeException {    List<String> names = new ArrayList<>();    if (names.contains(name))        throw new DuplicatePlayerException();    else {        players[index] = new Player(name, gender);        names.add(name);    }}
查看完整描述

3 回答

?
慕姐4208626

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

public void addPlayer(String name, boolean gender, int index)  throws RuntimeException {

    List<String> names = new ArrayList<>(); // you create a new instance of the list each time you call it, so it'll always be empty


    if (names.contains(name)) // your empty list does not contain anything

        throw new DuplicatePlayerException();

    else {

        players[index] = new Player(name, gender);

        names.add(name);

    }

}

您需要更改方法以使用實(shí)例級(jí)別列表:


private List<String> names = new ArrayList<>();

public void addPlayer(String name, boolean gender, int index)  throws RuntimeException {

    if (names.contains(name))

        throw new DuplicatePlayerException();

    else {

        players[index] = new Player(name, gender);

        names.add(name);

    }

}

所以names每次調(diào)用方法時(shí)都不會(huì)刪除的內(nèi)容。


查看完整回答
反對(duì) 回復(fù) 2022-07-20
?
哆啦的時(shí)光機(jī)

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

您可以考慮Set<Player>代替數(shù)組。Set根據(jù)定義不能包含重復(fù)項(xiàng)。假設(shè)Player已實(shí)現(xiàn)equals/hashcode您的代碼可能如下所示:


Set<Player> players = new HashSet<>();


public void addPlayer(Player player)  throws RuntimeException {

    if (!players.add(player)) {

        throw new DuplicatePlayerException();

    }

}

Set::add如果集合尚未包含該元素,則返回 true


查看完整回答
反對(duì) 回復(fù) 2022-07-20
?
慕桂英546537

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

String Names = "John";

    if (Names.toLowerCase().contains("john")){

        System.out.println("yes");

    }

您還可以使用 .toLowerCase().contains() 來包含區(qū)分大小寫的輸入。


查看完整回答
反對(duì) 回復(fù) 2022-07-20
  • 3 回答
  • 0 關(guān)注
  • 162 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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