怎么用java编写统计文件中的字符数、单词数和行数?在C盘新建文件1.txt,输入任意字符 , 如下图:
编写java代码 。如下:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.TreeMap;
public class Test {
// 统计数字或者字符出现的次数
public static TreeMapCharacter, Integer Pross(String str) {
char[] charArray = str.toCharArray();
TreeMapCharacter, Integer tm = new TreeMapCharacter, Integer();
for (int x = 0; xcharArray.length; x++) {
if (!tm.containsKey(charArray[x])) {
tm.put(charArray[x], 1);
} else {
int count = tm.get(charArray[x]) + 1;
tm.put(charArray[x], count);
}
}
return tm;
}
public static void main(String[] args) {
BufferedReader br = null;
int line = 0;
String str = "";
StringBuffer sb= new StringBuffer();
try {
br = new BufferedReader(new FileReader("c:\\1.txt"));
while ((str = br.readLine()) != null) {
sb.append(str);
++line;
}
System.out.println("\n文件行数: " + line);
System.out.println("\n文件内容: " + sb.toString());
TreeMapCharacter, Integer tm = Pross(sb.toString());
System.out.println("\n字符统计结果为:" + tm);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}运行结果如下图:
java统计串中字符个数的代码解释整个代码就是为了统计字符串中各个字符出现的个数
Map
result
=
getCharMaps(s);
这个方法调用
主要是看这个方法
public
static
Map
getCharMaps(String
s)
{
Map
map
=
new
HashMap();
//定义一个map
for(int
i
=
0;
i
s.length();
i++)
{
//
下面的代码主要是循环字符串 , 一次取出每一个字符
Character
c
=
s.charAt(i);
//获取对应的字符
Integer
count
=
map.get(c);
//获取字符对应出现的次数
map.put(c,
count
==
null
?
1
:
count
+
1);
//如果之前出现过 , 则加1,否则直接赋1
}
return
map;
//返回最终的map
}
编写java程序,输入10个成绩,计算最高分、最低分、平均分,并按从小到大排序,统计高于平均分的人数 。Java 8 以上(包含java8) Lambda 方式,这种方式比较简洁,代码如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class App20 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ListFloat scores = new ArrayList();
System.out.println("请输入10个人的成绩:");
for (int i = 0; i10; i++) {
scores.add(scanner.nextFloat());
}
float max = scores.stream().max((x, y) - Float.compare(x, y)).get();
System.out.println("最高分:" + max);
float min = scores.stream().min((x, y) - Float.compare(x, y)).get();
System.out.println("最低分:" + min);
float average = scores.stream().reduce(0.0f, Float::sum) / scores.size();
System.out.println("平均分:" + average);
scores.sort((x, y) - Float.compare(x, y));
System.out.println("从小到大分数排序:");
scores.forEach(s - System.out.print(s + " "));
long n = scores.stream().filter(r - raverage).count();
推荐阅读
- pubg下载苹果,pubg下载苹果教程
- 视频号怎么用手机直播游戏呢,视频号怎么直播打游戏
- phpcms上传图片生成缩略图,php上传图片源码
- java代码导出jar java代码导出UML图
- 关于美铝公司erp系统成功案例的信息
- 新开洗浴如何营销,洗浴行业新年营销方案
- python爬虫为空,python爬取内容为空
- 雪花飘飘的java代码 网站飘雪花代码
- 路由器怎么连接光纤,路由器怎么连接光纤猫