统计控制台输入的一句话中不同字⺟字符出现的次数。例如:现有字符串"Hello World!",上述字符串中各个字符的出现的次数为:
H:1
e:1l:3
o:2
W:1
r:1
d:1
(不考虑数字、空格和特殊字符的个数,按照字符在字符串中出现的顺序显示。相同字母的大小写算两个不同字符)
统计控制台输入的一句话中不同字⺟字符出现的次数。例如:现有字符串"Hello World!",上述字符串中各个字符的出现的次数为:
控制台任意输入一段话,可以有空格和特殊符号
输出字符和字符对应的出现字数(字符和出现次数之间用:隔开,输出逻辑已经给出)
Hello World
H:1 e:1 l:3 o:2 W:1 r:1 d:1
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); //去除字符串中间的空格 String trim = line.replaceAll(" ",""); Map<Character, Integer> map = new LinkedHashMap<Character, Integer>(); int length = 0; //write your code here...... while(length < trim.length()){ //如果存在key,则值+1 if(map.containsKey(trim.charAt(length))){ map.put(trim.charAt(length), map.get(trim.charAt(length))+1); length++; }else{ map.put(trim.charAt(length),1); length++; } } Set<Map.Entry<Character, Integer>> entrys = map.entrySet(); for (Map.Entry<Character, Integer> entry : entrys) { System.out.println(entry.getKey() + ":" + entry.getValue()); } } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); Map<Character, Integer> map = new LinkedHashMap<Character, Integer>(); for(int i=0;i<line.length();i++){ char c=line.charAt(i); if(Character.isLetter(c)){ if(map.containsKey(c)) map.put(c,map.get(c)+1); else map.put(c,1); } } Set<Map.Entry<Character, Integer>> entrys = map.entrySet(); for (Map.Entry<Character, Integer> entry : entrys) { System.out.println(entry.getKey() + ":" + entry.getValue()); } } }
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); Map<Character, Integer> map = new LinkedHashMap<Character, Integer>(); //write your code here...... for(char ch:line.toCharArray()){ if(Character.isLetter(ch)){ map.put(ch,map.getOrDefault(ch,0)+1); } } Set<Map.Entry<Character, Integer>> entrys = map.entrySet(); for (Map.Entry<Character, Integer> entry : entrys) { System.out.println(entry.getKey() + ":" + entry.getValue()); } } }
//write your code here...... line = line.replaceAll("[^a-zA-Z]+", "");//去除数字、空格和特殊字符 char[] chars = line.toCharArray(); for (int i = 0; i < chars.length; i++) { if (map.containsKey(chars[i])) { // 判断map中是否存在 map.put(chars[i], map.get(chars[i]) + 1);//存在+1 } else { map.put(chars[i], 1); // 否则value为1个 } }
import java.util.Scanner; import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; import java.util.Iterator; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String str = in.nextLine(); String regx = "[^a-zA-Z]"; String[] tempArray = str.replaceAll(regx, "").split(""); //newStr存储字符及其个数 StringBuffer newStr = new StringBuffer(); for(String temp : tempArray){ if(newStr.toString().contains(temp)){ int charIndex = newStr.toString().indexOf(temp); char num = newStr.charAt(charIndex + 1); newStr.setCharAt(charIndex + 1, (char)(num + 1)); }else{ newStr.append(temp); newStr.append(1); } } for (int i = 0; i< newStr.length(); i+=2){ System.out.println(newStr.charAt(i) + ":" + newStr.charAt(i+1)); } } } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); Map<Character, Integer> map = new LinkedHashMap<Character, Integer>(); //write your code here...... //遍历字符串 for(int i = 0; i < line.length(); i++) { Character ch = line.charAt(i); //只处理 A-Za-z 范围的字符 if (ch >= 'A' && ch <= 'z') { //map 不存在:设为 0 再加 1;若存在:获取原值 + 1 map.put(ch,map.getOrDefault(ch, 0) + 1); } } Set<Map.Entry<Character, Integer>> entrys = map.entrySet(); for (Map.Entry<Character, Integer> entry : entrys) { System.out.println(entry.getKey() + ":" + entry.getValue()); } } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); Map<Character, Integer> map = new LinkedHashMap<Character, Integer>(); //write your code here...... for(int countNum = 0;countNum < line.length();countNum++){ char toCountChars = line.charAt(countNum); //判断是否为字母 if(Character.isLetter(toCountChars)){ if(map.containsKey(toCountChars)){ //若哈希表中有该字母,计数+1 map.put(toCountChars,map.get(toCountChars) + 1); }else{ //否则,创建一条新纪录至map表下 map.put(toCountChars,1); } } } Set<Map.Entry<Character, Integer>> entrys = map.entrySet(); for (Map.Entry<Character, Integer> entry : entrys) { System.out.println(entry.getKey() + ":" + entry.getValue()); } } }