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

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

Java:如何遍歷數(shù)組并檢查它是否與變量值匹配?

Java:如何遍歷數(shù)組并檢查它是否與變量值匹配?

慕村225694 2021-09-29 13:19:07
我有一個(gè)char類型的參數(shù)。我想檢查這個(gè)字符是小寫的,如果這是真的,那么我會讓一個(gè)布爾變量等于真,否則,讓它等于假。我創(chuàng)建了一個(gè)字符數(shù)組:String argumentStr = args[2];char argument = argumentStr.charAt(0);boolean acceptArgument;char[] lowerCaseAlphabet = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',                            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};然后我嘗試了兩種不同的解決方案,但每個(gè)都超出了我的 acceptArgument 布爾值的范圍。第一的:for (int i = 0; i < 27; i++) {        if (argument == lowerCaseAlphabet[i]) {            acceptArgument = true;        } else {            acceptArgument = false;        }    }第二:for (char letter: lowerCaseAlphabet) {        if (argument == letter) {            acceptArgument = true;        } else {            acceptArgument = false;        }    }我理解為什么它不起作用,因?yàn)榕c acceptArgument 布爾值相比 if 語句的范圍。但我不知道如何解決這個(gè)問題。請指教。
查看完整描述

2 回答

?
尚方寶劍之說

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

為此,您不需要額外的數(shù)組。您可以argument通過將結(jié)果與Character.toLowerCase(char)like進(jìn)行比較來檢查是否是小寫


char argument = argumentStr.charAt(0);

boolean acceptArgument = argument == Character.toLowerCase(argument);

或(如@JBNizet 所指出的)使用Character.isLowerCase(char)像


boolean acceptArgument = Character.isLowerCase(argument);

如果您還需要測試該字符是否為字母,您可以添加一個(gè) and 之類的


boolean acceptArgument = Character.isLetter(argument) 

        && Character.isLowerCase(argument);


查看完整回答
反對 回復(fù) 2021-09-29
?
忽然笑

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

我理解為什么它不起作用,因?yàn)榕c acceptArgument 布爾值相比 if 語句的范圍


不。原因不是范圍,而是因?yàn)樵诿看蔚?,在完成整個(gè)循環(huán)之前都在acceptArgument獲取false或true基于 if 條件,因?yàn)閎reak在找到匹配項(xiàng)時(shí),您沒有使用任何或任何內(nèi)容退出循環(huán)。


例如,如果argument = 'p',它將在 處找到匹配項(xiàng)letter='p',因此acceptArgument將設(shè)置為true。然而,循環(huán)前進(jìn)到下一個(gè)字母q,因?yàn)閜 != q,acceptArgument將被設(shè)置為false并繼續(xù)這樣。這就是為什么它沒有按您的預(yù)期工作。


請參閱下面的更正


要更正您的代碼,請進(jìn)行以下修改


首先初始化;


boolean acceptArgument=false;

第二次刪除else它應(yīng)該是這樣的


for (char letter: lowerCaseAlphabet) {

    if (argument == letter) 

        acceptArgument = true;          

}

有用。


查看完整回答
反對 回復(fù) 2021-09-29
  • 2 回答
  • 0 關(guān)注
  • 262 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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