Java作業(yè)(熱身和擴展題):統(tǒng)計單個或每個字符出現(xiàn)次數(shù),Object面試題等詳細圖析

熱身題(由簡單題到擴展題,循序漸進更加便于理解):
統(tǒng)計"一閃一閃亮晶晶,漫天都是小星星"中,字符”晶“出現(xiàn)的次數(shù):
package a;
public class demo{
public static void main(String[] args) {
String str="一閃一閃亮晶晶,漫天都是小星星";
int count=0;//統(tǒng)計次數(shù)的變量
int start=0; //每次改變的位置
while((start=str.indexOf("晶",start))!=-1){
start++;//位置要改變
count++;//次數(shù)++
}
System. out . println("晶出現(xiàn)了"+count+"次");
}}

擴展題:
統(tǒng)計"一閃一閃亮晶晶,漫天都是小星星"中每個字符出現(xiàn)次數(shù):
package a;
import java.util.HashMap;
import java.util.Set;
public class demo {
public static void main(String[] args) {
String str = "一閃一閃亮晶晶,漫天都是小星星";
HashMap<Object, Integer> h = new HashMap<Object, Integer>();
// 使用循環(huán)將每個字符保存起來
for (int i=0; i <str.length(); i++) {
// 判斷map集合的鍵是否存在
if (h.containsKey(str.charAt(i))) {// 重復的時候,如果鍵是存在的就讓其值(出現(xiàn)的次數(shù))+1
int cishu =h.get(str.charAt(i));// 得到了重復的時候的值
cishu++;h.put(str . charAt(i),cishu);
} else {
h.put(str.charAt(i),1);
// 如果鍵不存在,其值(出現(xiàn)的次數(shù))就是1
}}
Set<Object> s=h.keySet();
for(Object i:s){
System.out. println("文字"+i+"出現(xiàn)了"+h.get(i));
}
}}





