JAVA42 统计一句话中重复单词的个数
描述
统计控制台输入的一句话中不同字⺟字符出现的次数。例如:现有字符串"Hello World!",上述字符串中各个字符的出现的次数为:
H:1
e:1
l:3
o:2
W:1
r:1
d:1
(不考虑数字、空格和特殊字符的个数,按照字符在字符串中出现的顺序显示。相同字母的大小写算两个不同字符)输入描述:
控制台任意输入一段话,可以有空格和特殊符号
输出描述:
输出字符和字符对应的出现字数(字符和出现次数之间用:隔开,输出逻辑已经给出)
示例:
输入:Hello World 输出: H:1 e:1 l:3 o:2 W:1 r:1 d:1
分析:
1.判断字符串中的大小写字母。
2.把字符串分成 一个个字符,判断map集合中是否已经存在该字符。
3.存在则取出value值+1。不存在的话,把该字符存入map集合。
代码:
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++){
if((line.charAt(i)>=97 && line.charAt(i)<=122 )||(line.charAt(i)>=65 && line.charAt(i)<=90)){
char c=line.charAt(i);
if(map.containsKey(c)){
map.put(line.charAt(i),map.get(c)+1);
}else {
map.put(line.charAt(i),1);
}
}
}
Set<Map.Entry<Character, Integer>> entrys = map.entrySet();
for (Map.Entry<Character, Integer> entry : entrys) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
JAVA43 map简单应用
描述
现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, “Amy”);
map.put(2, “Joe”);
map.put(3, “Tom”);
map.put(4, “Susan”);
要求:
1.遍历集合,并将序号与对应人名打印。
2.向该map集合中插入一个编码为5姓名为控制台输入的人名的信息
3.移除该map中的编号为4的信息 4.将map集合中编号为3的姓名信息修改为"Tommy"
5.再次遍历经过上述操作后的集合,并将序号与对应人名打印。(注:第一次输出和第二次输出需用空行隔开)
输入描述:
String类型人名
输出描述:
先将题中给定的集合遍历输出,完成题中要求之后再遍历输出一次(输出格式为key+“:”+value,第一次输出和第二次输出用空行隔开)
示例:
输入:David 输出: 1:Amy 2:Joe 3:Tom 4:Susan 1:Amy 2:Joe 3:Tommy 5:David
分析:
1.map的方法的使用。
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Amy");
map.put(2, "Joe");
map.put(3, "Tom");
map.put(4, "Susan");
//遍历
Set<Map.Entry<Integer,String>> entrySet = map.entrySet();
for (Map.Entry<Integer, String> entry : entrySet) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
//write your code here......
//向该map集合中插入一个编码为5姓名为控制台输入的人名的信息
map.put(5,name);
//移除该map中的编号为4的信息
map.remove(4);
//将map集合中编号为3的姓名信息修改为"Tommy"
map.replace(3,"Tommy");
System.out.println();
//遍历
Set<Map.Entry<Integer,String>> entrySet2 = map.entrySet();
for (Map.Entry<Integer, String> entry : entrySet2) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
}
}
大佬代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Amy");
map.put(2, "Joe");
map.put(3, "Tom");
map.put(4, "Susan");
for(int i : map.keySet()) {
System.out.println(i + ":" + map.get(i));
}
System.out.println();
map.put(5,name); // 添加
map.remove(4); // 删除
map.replace(3,"Tommy"); // 修改
for(int i : map.keySet()) {
System.out.println(i + ":" + map.get(i));
}
}
}