寫一個方法返回值是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;
}
}
聰明的人應該已經想到用正則表達式了,但是我覺得正則想起來麻煩就不想了有人想好了可以告訴我