黑马程序员技术交流社区
标题:
求解
[打印本页]
作者:
longyun
时间:
2016-6-15 15:15
标题:
求解
使用键盘录入一个字符串,获取字符串中每一个字符出现的次数,要求统计结果格式为:字符(次数)并以”,”连接,如:a(5),b(4),c(3),d(2)
* ,e(1) 将统计结果在控制台打印并将统计结果保存到项目根目录下的result.txt文件中
作者:
18611643318
时间:
2016-6-15 21:01
package com.heima.test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
/**
*
* @author Venus
*
*/
public class Test6 {
public static void main(String[] args) {
// 键盘一个字符串
System.out.println("请输入一个字符串:");
String str = new Scanner(System.in).nextLine().trim();
method(str);
}
static void method(String str) {
// 定义set集合,
Set<String> set = new HashSet<String>();
// 遍历字符串,添加到set集合
for (int i = 0; i < str.length(); i++) {
// 取得每个字符
String temp = str.charAt(i) + "";
// 把每个字符添加到set集合
set.add(temp);
}
// 遍历set集合,去比较计数字符串里面的每个char
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String temp = it.next();
int count = 0;
for (int i = 0; i < str.length(); i++) {
String strtemp = str.charAt(i) + "";
if (temp.equals(strtemp)) {
count++;
}
}
System.out.print(temp + "(" + count + ")");
}
}
}
复制代码
作者:
46期李帅
时间:
2016-6-17 16:11
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入一个字符串:");
String str = sc.nextLine(); //录入字符串
char[] ch = str.toCharArray(); //将字符串转换成数组
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>(); //创建tm集合
for (Character c : ch) { //遍历char数组,
//应用三元添加
tm.put(c,!tm.containsKey(c)? 1 :tm.get(c)+1); //如果tm集合的键中不包含字符c,则将字符c作为键添加,值为1,如果存在,则把与字符c相对应的值加1
}
for (Character c : tm.keySet()) { //变量tm集合
System.out.print(c +"(" +tm.get(c) +")");
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2