java 寫一個方法返回值是Map型別
阿新 • • 發佈:2018-12-21
寫一個方法返回值是Map型別:(通過控制檯 寫進去一行字元,分別統計出其英文字母,空格,數字和其它字元 放到對應的list裡面,最終把list放到Map裡並返回) 最近老遇到問這個問題的人,我覺定寫個蠢一點的辦法滿足一下大家
import java.util.*; public class demo1 { public static void main(String[] args) { Scanner in = new Scanner(System.in); String arr = in.nextLine(); System.out.println(demo(arr)); } public static Map<String, List> demo (String arr ) { String[] arrs = arr.split(" "); Map<String,List> map = new HashMap<>(); List<String> list1 = new LinkedList<>(); List<String> list2 = new LinkedList<>(); List<String> list3 = new LinkedList<>(); List<String> list4 = new LinkedList<>(); for (int i=0;i<arr.length();i++){ if ((arr.charAt(i)>='a'&&arr.charAt(i)<='z')||(arr.charAt(i)>='A'&&arr.charAt(i)<='Z')){ Character character = arr.charAt(i); list1.add(character.toString()); } else if ('0'<=arr.charAt(i)&&'9'>=arr.charAt(i)){ Character character = arr.charAt(i); list3.add(character.toString()); } else if (' '==arr.charAt(i)){ list2.add(" "); } else { Character character = arr.charAt(i); list4.add(character.toString()); } } map.put("character",list1); map.put("space",list2); map.put("other",list4); map.put("number",list3); return map; } }
聰明的人應該已經想到用正則表示式了,但是我覺得正則想起來麻煩就不想了有人想好了可以告訴我