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

為了賬號安全,請及時綁定郵箱和手機立即綁定

這種和答案哪個好些

String?s?=?"aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

//?出現次數
int?num?=?0;
byte[]?b=s.getBytes();
//?循環遍歷每個字符,判斷是否是字符?a?,如果是,累加次數
for?(?int?i=0;i<b.length;i++)
{
????//?獲取每個字符,判斷是否是字符a
????if?(b[i]=='a'?)?{
????????//?累加統計次數
????????num++;
????}
}
System.out.println("字符a出現的次數:"?+?num);


正在回答

2 回答

單純的說只是遍歷的話,答案好一些。

畢竟另外保存了一個數組的拷貝,用了額外的空間。

不過例題的樣本太小了,運算出來連毫秒都沒有,數據大了的話才會有差別。

0 回復 有任何疑惑可以回復我~
#1

慕姐4925769 提問者

s.charAt(i)=='a' 能詳細講解下這個嗎 有點迷
2018-11-15 回復 有任何疑惑可以回復我~
#2

Loveless_World 回復 慕姐4925769 提問者

charAt就是character at (index),具體的意思就是說在i位置上的這個字符,所以當你調用這個函數的時候它返還的是指定位置的字符。 String的底層用的其實就是一個char的數組。
2018-11-17 回復 有任何疑惑可以回復我~
#3

Yeee

上面這樣能比較嗎? b[i] 輸出出來是字節的數字,'a' 是一個字符,這兩者內容不一樣啊
2019-01-05 回復 有任何疑惑可以回復我~

變成字節數組不等于分割。建議看看例題

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這種和答案哪個好些

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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