① java怎麼實現統計一個字元串中字元出現的次數
這是我剛根據你的需求寫的,你可以參考一下!
我辦法很簡單,拆分存放數組裡面,然後查找數組就可以了!
其實還有更簡單的辦法,直接用容器比較方便,目前這個辦法我自己用數組寫的,我個人挺滿意的!
importjava.util.Scanner;
publicclass統計次數
{
privatestaticScannersc=newScanner(System.in);
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========統計字元串中字元次數========== ");
init();
}//初始化!
privatestaticvoidinit()
{
for(;;)
{
System.out.println("輸入文字:");
char[]arr1=fenJie(input());
System.out.println("查找的字:");
charx=muBiao(fenJie(input()));
inty=chaZhao(arr1,x);
System.out.println("你要找的是""+x+"",出現"+y+"次 =============== ");
}
}
//錄入!
privatestaticStringinput()
{
Strings=sc.next();
returns;
}
//分解!
privatestaticchar[]fenJie(Strings)
{
char[]arr=newchar[s.length()];
for(inti=0;i<s.length();i++)
{
arr[i]=(char)(s.charAt(i));
}
returnarr;
}
//查找!
privatestaticintchaZhao(char[]arr,charx)
{
intnum=0,tem=-1;
for(inta=0,b=arr.length-1;a<=b;a++,b--)
{
if(a!=b&&arr[a]==x)num++;
if(a!=b&&arr[b]==x)num++;
if((a==b)&&(arr[a]==x||arr[b]==x))num++;
tem=num;
}
returntem;
}
//目標
privatestaticcharmuBiao(char[]arr)
{
returnarr[0];
}
}
② java中Scanner鍵盤輸入一個字元串 要求計算出每個字元出現的次數
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
/*
* (1)利用鍵盤錄入,輸入一個字元串
(2)統計該字元串中各個字元的數量
*/
public class InputString {
public static void main(String[] args) {
//獲取鍵盤輸入的字元串
Scanner sc=new Scanner(System.in);
System.out.println("請輸入一個字元串!");
String st=sc.nextLine();
//將字元串存分解成每個字元,存到數組中
char [] ch=st.toCharArray();
//創建map的集合,存儲字元和出現的次數,其中將字元作為鍵值
Map<Character,Integer> map=new HashMap<Character,Integer>();
//使用循環,將數組ch中的元素遍歷出來,並用計數器計算出現的次數
for(char c:ch) {
//判斷字元c是否存在集合中,存在的話,更新map中的元素對(因為map中的元素是唯一的)
if(map.containsKey(c)) {
Integer count=map.get(c);
count=count+1;
map.put(c, count);
//如果不存在,將字元和出現的次數(1次),存到集合中
}else {
map.put(c, 1);
}
}
//用增強for循環,輸出字元的出現次數
for(char key:map.keySet()) {
System.out.println(key+"的出現次數是"+map.get(key));
}
}
}
===================================
運行後的結果如下: