java代码题 给出一段英文句子,让你把句子里的每个单词(无缩写形式) 出现次数计算出来!

我做的大概是把句子定义String,之后先根据正则判断除空格外的一切非字母的符号都不算,根据空格切分,用什么容器装我不会,之后遍历循环,打印出来。希望懂的人帮忙写出来谢谢... 我做的大概是 把句子定义String,之后先根据 正则判断 除空格外的一切非 字母的符号都不算, 根据空格切分 ,用什么容器装 我不会,之后遍历循环,打印出来。希望懂的人帮忙写出来 谢谢。
感谢,泪奔。
有点疑问 求解释:
能说一下 每一步 都是干什么的吗?谢谢
展开
 我来答
百度网友b8f909b
推荐于2016-12-02 · TA获得超过795个赞
知道小有建树答主
回答量:554
采纳率:0%
帮助的人:470万
展开全部
等我,就写出来
import java.io.*;
import java.util.HashMap;
import java.util.Map.Entry;

public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
BufferedReader br = new BufferedReader(new FileReader("C:\\text.txt"));//我就不写有界面的了,这个参数就是你英文句子文件所在位置
String sentence = null;
HashMap<String,Integer> map = new HashMap<String, Integer>();
while((sentence = br.readLine())!=null){
sentence = sentence.replaceAll("[\\pP'$']", "");
String[] words = sentence.split(" ");
for(String word:words){
if(map.get(word)==null)
map.put(word, 1);
else map.put(word, map.get(word)+1);
}
}
java.util.Iterator<Entry<String, Integer>> iter = map.entrySet().iterator();
while(iter.hasNext()){
Entry entry = (Entry) iter.next();
System.out.println(entry.getKey()+" "+entry.getValue());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何其灿先生
2012-10-27
知道答主
回答量:14
采纳率:0%
帮助的人:4.1万
展开全部
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

//Java编程:输入一段英文:
//1、统计一共有多少个单词;
//2、每个单词出现的次数;
//3、按出现次数升或降序排列

package sentencecountword;
import java.util.*;
/**
*
* @author dell
*/
public class SentenceCountWord {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner in = new Scanner(System.in);
System.out.print("plese input a English sentence(输入一个句子): ");
String str = in.nextLine();
String[] word = str.split(" ");
int wordNum = word.length;
int i;
for (i = 0; i < word.length; i++) {
// System.out.println(word[i]); //该行分别输出各个单词。
}

String str1 = str.toUpperCase(); //转化成大写 System.out.println("将该句子转化成大写后为: " + str1);
String str2 = str.toLowerCase(); //转化成小写 System.out.println("将该句子转化成大写后为: " + str2);
System.out.println("这个句子中的单词个数有:" + i + "个。");

for (i = 0; i < word.length; i++) {
int sum = 0;
for (int j = 0; j < word.length; j++) {
if (word[i].equals(word[j])) { //判断两个字符串是否相等用equals, 不能用“==”
sum++;
}
}
System.out.println(word[i] + " 出现的次数为:" + sum + "次。");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
why_ou
2012-06-17 · TA获得超过1146个赞
知道小有建树答主
回答量:1341
采纳率:0%
帮助的人:656万
展开全部
给你个提示,用hash。
追问
现在是 想法在 但我代码书写 不到位!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式