java读取txt文件并检测其中哪些字符出现次数最高
该txt文件中有如下信息:1.给定字符串Stringstr="12345678.89";定义一个方法完成以功能如下Stringstr2="¥12,345,678.89";...
该txt文件中有如下信息:
1.给定字符串
String str = "12345678.89";
定义一个方法完成以功能如下
String str2 = "¥12,345,678.89";
2.给定一个文本文件,你需要检测其中哪写字符出现次数最高
小弟只会读取该txt文件 不知道怎么遍历然后把该字符出现次数最高的字符输出,代码如下:
package com.sinojava;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Work2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("d:\\作业.txt");
BufferedReader br = new BufferedReader(fr);
String content = " ";
String line = br.readLine();
while(line!=null){
content = content+line+"";
line = br.readLine();
}
System.out.println(content);
fr.close();
br.close();
}
}
请问怎么做才能检测其中哪写字符出现次数最高??谢谢 展开
1.给定字符串
String str = "12345678.89";
定义一个方法完成以功能如下
String str2 = "¥12,345,678.89";
2.给定一个文本文件,你需要检测其中哪写字符出现次数最高
小弟只会读取该txt文件 不知道怎么遍历然后把该字符出现次数最高的字符输出,代码如下:
package com.sinojava;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Work2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("d:\\作业.txt");
BufferedReader br = new BufferedReader(fr);
String content = " ";
String line = br.readLine();
while(line!=null){
content = content+line+"";
line = br.readLine();
}
System.out.println(content);
fr.close();
br.close();
}
}
请问怎么做才能检测其中哪写字符出现次数最高??谢谢 展开
展开全部
因为你是文本,其中的字符是ASCII. 一共有256个ASCII。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.*;
public class Work2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("d:\\作业.txt");
BufferedReader br = new BufferedReader(fr);
String content = " ";
String line = br.readLine();
while(line!=null){
content = content+line+"";
line = br.readLine();
}
System.out.println(content);
//code added here
int[] letters = new int[256];
int max = 0;
for(int i = 0; i < content.length(); i++)
if(++letters[(int)content.charAt(i)] > max)
max = letters[(int)content.charAt(i)];
System.out.println("Max appearance is " + max);
for(int i = 0; i < letters.length; i++)
if(letters[i] == max)
System.out.print((char)i + " ");
fr.close();
br.close();
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.*;
public class Work2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("d:\\作业.txt");
BufferedReader br = new BufferedReader(fr);
String content = " ";
String line = br.readLine();
while(line!=null){
content = content+line+"";
line = br.readLine();
}
System.out.println(content);
//code added here
int[] letters = new int[256];
int max = 0;
for(int i = 0; i < content.length(); i++)
if(++letters[(int)content.charAt(i)] > max)
max = letters[(int)content.charAt(i)];
System.out.println("Max appearance is " + max);
for(int i = 0; i < letters.length; i++)
if(letters[i] == max)
System.out.print((char)i + " ");
fr.close();
br.close();
}
}
展开全部
本人做了方法,只能对字符进行统计,得输入string类型的字符串,代码如下:
public String getBigCountStr(String m){
char[] n = m.toCharArray();
StringBuilder sb = new StringBuilder();
for(char nn : n){
if(!(sb.indexOf(""+nn)>-1)){
sb.append(""+nn);
}
}
String ownData = sb.toString();
int c = 0;
List li = new ArrayList();
char[] a = ownData.toCharArray();
for(char d : a){
int index = 1;
int addr = m.indexOf(d);
while(m.indexOf((""+d),addr + 1)>-1){
addr = m.indexOf((""+d),addr) + 1;
index ++;
}
if(index>c){
c = index;
li.removeAll(li);
li.add(d);
}else if(index==c){
li.add(d);
}
}
System.out.println(c); // 字符出现次数
for(int i = 0;i<li.size();i++){
System.out.print(li.get(i) + "|"); // 出现的字符
}
return "";
}
public String getBigCountStr(String m){
char[] n = m.toCharArray();
StringBuilder sb = new StringBuilder();
for(char nn : n){
if(!(sb.indexOf(""+nn)>-1)){
sb.append(""+nn);
}
}
String ownData = sb.toString();
int c = 0;
List li = new ArrayList();
char[] a = ownData.toCharArray();
for(char d : a){
int index = 1;
int addr = m.indexOf(d);
while(m.indexOf((""+d),addr + 1)>-1){
addr = m.indexOf((""+d),addr) + 1;
index ++;
}
if(index>c){
c = index;
li.removeAll(li);
li.add(d);
}else if(index==c){
li.add(d);
}
}
System.out.println(c); // 字符出现次数
for(int i = 0;i<li.size();i++){
System.out.print(li.get(i) + "|"); // 出现的字符
}
return "";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-30
展开全部
用Map<Char,Integer>来统计
追问
可以写个代码给我吗??谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |