我用的這種方法為什么輸出a出現(xiàn)的次數(shù)為49,有大神可以幫忙看一下嗎?
? public static void main(String[] args) {
// 定義一個(gè)字符串
String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
? ? ? ??
? ? ? ? // 出現(xiàn)次數(shù)
int num = 0;
? ? ? ? int i=0;
? ? ? ? char st=s.charAt(i);
? ? ? ? ?// 循環(huán)遍歷每個(gè)字符,判斷是否是字符 a ,如果是,累加次數(shù)
for (i=0;i<s.length();i++)
{
? ? ? ? ? ? // 獲取每個(gè)字符,判斷是否是字符a
if (st=='a') {
? ? ? ? ? ? ? ? // 累加統(tǒng)計(jì)次數(shù)
num++;?
}
}
System.out.println("字符a出現(xiàn)的次數(shù):" + num);
}
2018-11-08
因?yàn)??int i=0; ?所以?s.charAt(i); 就是 ?s.charAt(0) ? 。
因?yàn)閟的下標(biāo)為0的就是a。所以?char st=s.charAt(i); 就等于a了。
2018-10-18
st的賦值在循環(huán)外,也就是循環(huán)內(nèi)st的值一直沒變,每一次判斷都是st等于a
2018-10-15
為啥放循環(huán)外邊,還自己定義一個(gè)i變量
2018-10-08
?char st=s.charAt(i);? ? 這句話要放進(jìn)循環(huán)里面啊
你這樣第一個(gè)是 a? 的話? ? ?char st=s.charAt(0);? ? ? st就一直是 a 了? ? 所以才會(huì)輸出49吧
2018-10-08
我也是個(gè)小白,不知道行不行,你試試
2018-10-08