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

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

哪里錯了這是



public class HelloWorld {
??? public static void main(String[] args) {
?? ??? ?// 定義一個字符串
?? ??? ?String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
?????? ?
??????? // 出現次數
?? ??? ?int num = 0;
?????? ?
???????? // 循環遍歷每個字符,判斷是否是字符 a ,如果是,累加次數
?? ??? ?for (? char i : s? )
?? ??? ?{
??????????? // 獲取每個字符,判斷是否是字符a
?? ??? ??? ?if (? i=='a'?? ) {
??????????????? // 累加統計次數
?? ??? ??? ??? ?num++;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?System.out.println("字符a出現的次數:" + num);
?? ?}
}



正在回答

7 回答

**這個問題的關鍵是要將字符串轉換為字符數組**


public class HelloWorld {

? ? public static void main(String[] args) {

// 定義一個字符串

String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

//字符串轉換為字符數組,使用toCharArray()方法

? ? ? ? char[] ch=s.toCharArray();

? ? ? ? // 出現次數

int num = 0;

? ? ? ??

? ? ? ? ?// 循環遍歷每個字符,判斷是否是字符 a ,如果是,累加次數

for ( int i=0; i<s.length(); i++ )

{

? ? ? ? ? ? // 獲取每個字符,判斷是否是字符a

if (? ch[i]=='a'? ) {

? ? ? ? ? ? ? ? // 累加統計次數

num++;?

}

}

System.out.println("字符a出現的次數:" + num);

}

}


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

樓上大佬,受教了

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

for (? char i : s? )?換成for(? char i : s.toCharArray() )

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

樓主你這其實離成功不遠了,只要到s的后面加上toCharArray()方法就行,原因上面都有提到就是,增強for循環遍歷的是數組,你前面的定義的類型變量要與:后面的數組類型相匹配,所以只要把后面的字符串轉換為和前面char型變量i相匹配的char型數組就ok

public class HelloWorld {
??? public static void main(String[] args) {
?? ??? ?// 定義一個字符串
?? ??? ?String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
?????? ?
??????? // 出現次數
?? ??? ?int num = 0;
?????? ?
???????? // 循環遍歷每個字符,判斷是否是字符 a ,如果是,累加次數
?? ??? ?for (? char i : s .toCharArray() )
?? ??? ?{
??????????? // 獲取每個字符,判斷是否是字符a
?? ??? ??? ?if (? i=='a'?? ) {
??????????????? // 累加統計次數
?? ??? ??? ??? ?num++;?
?? ??? ??? ?}
?? ??? ?}
?? ??? ?System.out.println("字符a出現的次數:" + num);
?? ?}
}

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

public class HelloWorld {


public static void main(String[] args) {

// 定義一個字符串

String[] s = { "a", "l", "j", "l", "k", "d", "s", "f", "l", "k", "j",

"s", "a", "d" };


// 出現次數

int num = 0;


// 循環遍歷每個字符,判斷是否是字符 a ,如果是,累加次數

for (String i : s) {

// 獲取每個字符,判斷是否是字符a

if (i.equals("a")) {

// 累加統計次數

num++;

}

}

System.out.println("字符a出現的次數:" + num);

}

}

你應該這樣。

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

慕后端1338084 提問者

我試試,謝謝你
2018-08-24 回復 有任何疑惑可以回復我~
#2

白菜尖尖

你這樣雖說輸出結果是對的,但不嚴謹!你定義的S是字符串數組而不是字符數組,應該定義為char s={'a',...}。更簡單的是我記得字符串有個轉換成字符數組的方法,可以查查。
2018-08-24 回復 有任何疑惑可以回復我~

for (? char i : s? ),循環遍歷是針對數組的,這條語句中s是字符串而不是數組,如果這樣做的話需要將字符串s轉換成字符數組!

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

慕后端1338084 提問者

謝謝你!
2018-08-24 回復 有任何疑惑可以回復我~

public class HelloWorld {
??? public static void main(String[] args) {
??// 定義一個字符串
??String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
???????
??????? // 出現次數
??int num = 0;
???????
???????? // 循環遍歷每個字符,判斷是否是字符 a ,如果是,累加次數
??for (int i=0;i<s.length();i++)
??{
??????????? // 獲取每個字符,判斷是否是字符a
???if (s.charAt(i)=='a') {
??????????????? // 累加統計次數
????num++;
???}
??}
??System.out.println("字符a出現的次數:" + num);
?}
}

你看下要循環遍歷每個字母,然后用當前的去跟a比較,

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

舉報

0/150
提交
取消

哪里錯了這是

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

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

幫助反饋 APP下載

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

公眾號

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