1. 程式人生 > >計算一組字串裡每個不同字串的個數(使用Map)

計算一組字串裡每個不同字串的個數(使用Map)

輸入格式為Int型:

package jave;

import java.util.Scanner;
import java.util.*;

/*從鍵盤上輸入一組數字,並計算每個字串的個數*/
public class CountString {
	private static final int ONE = 1;
	private static final int n = 10;
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int[] array = new int[n];
		for(int i = 0; i < array.length; i++) {
			array[i] = in.nextInt();
		}
		Map m = new HashMap();
		for(int i = 0; i < array.length; i++) {
			//先取出每個array裡的數字,如果為空就說0個,不為空就將自身作為物件返回
			int freq = (Integer) m.get(array[i]) == null ? 0 : (Integer) m.get(array[i]);
			m.put(array[i], freq==0 ? ONE : freq + 1);//將array放入map中,個數不為空加1
		}
		System.out.println("包含數字的種類:" + m.size());
		System.out.println(m);
		
		

	}

}

輸入型別為String型:

package jave;
/*從鍵盤上任意輸入一組字串,求出不同字串的個數,以及每個不同字串的個數*/
import java.util.Scanner;
import java.util.*;

/*從鍵盤上輸入一組數字,並計算每個字串的個數*/
public class Count_String {
	private static final int ONE = 1;
	private static final int n = 10;
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String[] inputString = new String[n];
		for(int i = 0; i < inputString.length; i++) {
			inputString[i] = in.next().toString();
		}
		
		
		Map m = new HashMap();
		for(int i = 0; i < inputString.length; i++) {
			//先取出每個array裡的數字,如果為空就說0個,不為空就將自身作為物件返回
			int freq = (Integer) m.get(inputString[i]) == null ? 0 : (Integer) m.get(inputString[i]);
			m.put(inputString[i], freq==0 ? ONE : freq + 1);//將array放入map中,個數不為空加1
		}
		System.out.println("包含不同的字串的個數:" + m.size());
		System.out.println(m);
		
		

	}

}