读入一个TXT文本(仅有英文单词序列组成),统计各个单词出现的次数,并以适当的图形形式表示结果。

求解答....要求用JAVA编写... 求解答....要求用JAVA编写 展开
 我来答
铅Biqianbi
2011-11-21 · 超过14用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:24.2万
展开全部
你好 我编了一个 运行过了结果正确
ps: 想不到什么好的表示方法 就用的Button表示的结果 你可以看看 还有运行前在E盘建立一个f.txt文件 里面输上英文文本 希望可以帮到你。。
package book;
import java.awt.*;
import java.io.*;
import javax.swing.*;

public class Qianbi {
private JFrame frame;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Qianbi that=new Qianbi();
that.go();
}
public void go(){
int counta=0,countb=0,countc=0;//后边你自己加吧
JButton ta,tb,tc;//后边的自己加吧

FileInputStream f;
//读
String oldStr = "";
try {
f = new FileInputStream("E:\\f.txt");
InputStreamReader br = new InputStreamReader(f);
BufferedReader reader = new BufferedReader(br);
String line = null;
while((line = reader.readLine())!=null){
oldStr += line;
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

char array[]=new char[oldStr.length()];
for(int j=0;j<oldStr.length();j++)
array[j]=oldStr.charAt(j);

for(char c:array){
switch(c){
case 'a':counta++;break;
case 'b':countb++;break;
case 'c':countc++;break;
default:System.out.print("illegal number");
}//switch
}//for
frame=new JFrame("统计");
Container content=frame.getContentPane();
content.setLayout(null);

ta=new JButton("a的个数"+counta);
tb=new JButton("b的个数"+countb);
tc=new JButton("c的个数"+countc);

ta.setBounds(2,2,counta*20,20);
tb.setBounds(2,50,countb*20,20);
tc.setBounds(2,100,countc*20,20);

ta.setBackground(Color.yellow);
tb.setBackground(Color.yellow);
tc.setBackground(Color.yellow);

content.add(ta);
content.add(tb);
content.add(tc);

frame.setSize(300,200);
frame.setVisible(true);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式