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

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

請解釋一下這行代碼 a[s1.charAt(i) - 'a']++;

請解釋一下這行代碼 a[s1.charAt(i) - 'a']++;

慕婉清6462132 2022-06-04 17:23:46
我正在做一個 java 程序,但不明白這行代碼是如何工作的。for (int i = 0; i < s1.length(); i++)     a[s1.charAt(i) - 'a']++;
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

s1.charAt(i)返回s1 i的第 ' 個字符。假設這個字符串只包含小寫字母(即'a'到'z'),將字符'a'映射到索引0,'b'映射到索引1,依此類推('z'映射到索引25) .Strings1.charAt(i)-'a'

a[s1.charAt(i)-'a']++;

遞增與字符對應的計數器s1.charAt(i)。

因此,這個循環計算每個字母在String s1.

最后,a[0]將包含'a'a[1]的數量,'b'的數量等等。


查看完整回答
反對 回復 2022-06-04
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

for(int i=0;i<s1.length();i++)//This line represents loop from 0 to length of s1-1

        a[s1.charAt(i)-'a']++;

//s1.chatAt(i) returns the character presents at ith index.

//s1.chatAt(i)-'a' returns (ASCII value of s1.charAt(i) - ASCII value of 'a') 


查看完整回答
反對 回復 2022-06-04
  • 2 回答
  • 0 關注
  • 615 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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