亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何將字符數組與布爾值進行比較

如何將字符數組與布爾值進行比較

慕容708150 2021-11-03 14:18:10
我不太確定為什么這段涉及字符數組的代碼有意義?String str1 = "Hello"int[] charSet = new int[128];char[] chars = str1.toCharArray();    for (char c : chars) { // count number of each char in s.        if (charSet[c] == 0)++charSet[c];    }我的問題是如何將 char 變量作為 charSet 數組的索引并將其與 0 進行比較?
查看完整描述

2 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

Achar是無符號的 16 位數字類型,int當用作數組索引時將被擴展為。

charSet[c] 是隱含的 charSet[(int) c]

請注意,如果字符串中包含非 ASCII 字符,代碼將失敗,因為只有ASCII字符在 Unicode 代碼點范圍 0-127 中。任何其他 Unicode 字符都會導致ArrayIndexOutOfBoundsException.


查看完整回答
反對 回復 2021-11-03
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

帶有我的評論的代碼。


    String str1 = "Hello";

    int[] charSet = new int[128];// ascii chars a-z and A-Z go from 65-122 using a 128 array is just being lazy

    char[] chars = str1.toCharArray();

    for (char c : chars) { //loop though each character in the string

        if (charSet[c] == 0)//c is the character converted to int since it's all a-z A-Z it's between 65 and 122                                

            ++charSet[c];//if it the character hasn't been seen before set to 1

    }


查看完整回答
反對 回復 2021-11-03
  • 2 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號