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