Java io流题目
读取一段文本,将其中所有的字符读出来(中文,英文,数字)然后统计其中中文,英文字符每个字符出现的个数,数字的个数。最后以一下文本格式输出:例如文本是:我们现在学习java...
读取一段文本,将其中所有的字符读出来(中文,英文,数字)然后统计其中中文,英文字符每个字符出现的个数,数字的个数。 最后以一下文本格式输出:
例如文本是:
我们现在学习java。
输出格式:
字符=个数
我=1
们=1
...
请各位高手帮我解答一下!我是java初学者而且没有教材,希望各位帮我推荐几本有用的书。谢谢各位! 展开
例如文本是:
我们现在学习java。
输出格式:
字符=个数
我=1
们=1
...
请各位高手帮我解答一下!我是java初学者而且没有教材,希望各位帮我推荐几本有用的书。谢谢各位! 展开
4个回答
展开全部
做过测试,以下为源代码:
try {
FileInputStream fio=new FileInputStream("D:\\temp.txt");
ArrayList<String> strList=new ArrayList<String>();
ArrayList<Integer> intList=new ArrayList<Integer>();
byte[] bf=new byte[1000];
fio.read(bf);
String str=new String(bf,"gb2312");
str=str.trim();
for(int i=0;i<str.length();i++){
char tempChar= str.charAt(i);
boolean br=true;
int j=0;
for(;j<strList.size();j++){
if(strList.get(j).trim().equals((tempChar+"").trim())){
br=false;
break;
}
}
if(br){
strList.add(tempChar+"");
intList.add(1);
}else{
intList.set(j, intList.get(j)+1);
}
}
for(int i=0;i<strList.size();i++){
System.out.println(strList.get(i)+"="+intList.get(i));
}
} catch (Exception e) {
e.printStackTrace();
}
推荐书籍:《Java编程思想》
try {
FileInputStream fio=new FileInputStream("D:\\temp.txt");
ArrayList<String> strList=new ArrayList<String>();
ArrayList<Integer> intList=new ArrayList<Integer>();
byte[] bf=new byte[1000];
fio.read(bf);
String str=new String(bf,"gb2312");
str=str.trim();
for(int i=0;i<str.length();i++){
char tempChar= str.charAt(i);
boolean br=true;
int j=0;
for(;j<strList.size();j++){
if(strList.get(j).trim().equals((tempChar+"").trim())){
br=false;
break;
}
}
if(br){
strList.add(tempChar+"");
intList.add(1);
}else{
intList.set(j, intList.get(j)+1);
}
}
for(int i=0;i<strList.size();i++){
System.out.println(strList.get(i)+"="+intList.get(i));
}
} catch (Exception e) {
e.printStackTrace();
}
推荐书籍:《Java编程思想》
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说个思路吧!
用Reader读进来成String,然后toCharArray()转成字符数组.
然后遍历数组和HashMap<Character,Integer>,然后map的contains()方法测试这个字符,如果有value+1,没有这个字符,map.put();然后初始值为1.
最后遍历输出整个map就可以了!!
程序懒的写啊,有需要的话Hi我!
用Reader读进来成String,然后toCharArray()转成字符数组.
然后遍历数组和HashMap<Character,Integer>,然后map的contains()方法测试这个字符,如果有value+1,没有这个字符,map.put();然后初始值为1.
最后遍历输出整个map就可以了!!
程序懒的写啊,有需要的话Hi我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果:InputStream in = null;的声明是在方法的里面,而且,在finally后面没有什么代码的话,finally中的in = null可以不需要 如果finally后面还有很多的代码的话,此处使用in = null可以告诉JVM,new FileInputS...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询