計算一組字串裡每個不同字串的個數(使用Map)
阿新 • • 發佈:2018-12-11
輸入格式為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); } }