自然语言理解课程设计报告
姓 名 侯冬冬
所在学院 计算机与信息学院
专业年级 通信三班
报告提交时间 2012——12——7
联系电话
电子信箱 864637566@qq.co
1.项目目标
实现一个从拼音到汉字的自动转换系统
完全界面化不使用键盘,模仿手机触屏打字.
2.国内外相关工作
参考网站 hp://iask.sina.com.cn/b/3614193.html
书籍:《《java 语言程序设计基础篇》》Y.Daniel Liang
<<Java 全能速查宝典>> 人们邮电出版社
3.自己在本项目中承担的工作
担任组长,分配各组员任务。将组员的各个模块连接起来,加以改
进,并生成 exe 文件。
5.实现系统(或模块)的核心思想和算法描述
当鼠标点击界面按钮时输入拼音字符函数如下
input2.setText(input2.getText().concat(((JBuon)e.getSource()).getText().trim()));
inputText=input2.getText().substring(klength,input2.getText().length());
String[] inputTextstring=inputText.split(" ");
查找对应汉子 public void getarray(String str)
getarray 内为汉子库 通过 if 语句判断对应汉子数组
调用函数读取拼音字符串可能对应的汉子,将每个汉字对应于一个按钮中。
hzb.setVisible(true);
ststr=str.split(" ");
hzb.setSize(400, 400);
zb.setLayout(new GridLayout(10,10));
for(int ii=0;ii<ststr.length;ii++){
int iii=ii+1;
zb.add(new JBuon(""+iii+ststr[ii])); }
zb.add(hzinput);
hzb.add(zb);
选择需要的汉子
if(e.getSource()==sure){
String numstring=hzinput.getText().trim();【【读取汉子对应的数字】】
hzinput.setText(null);
numb = Integer.parseInt(numstring);
input=input1.getText()+ststr[numb-1];
【【取出一个数字以后,读取拼音字符串的长度从该读取的拼音字符串后开始】】
input1.setText(input);
zb.removeAll();
klength=klength+inputText.length();
}
界面布置与美化
JFrame frame=new JFrame("音字转换系统");
JTextField hzinput=new JTextField();
JFrame hzb=new JFrame("汉子板");
JPanel zb=new JPanel();
private JTextField input1=new JTextField(1);
private JTextField input2=new JTextField(0);
hzb.setVisible(true);
hzb.setSize(400, 400);
zb.setLayout(new GridLayout(10,10));
JPanel inputpane=new JPanel();
JPanel boon=new JPanel();
JPanel dyhz=new JPanel();
JPanel num=new JPanel();
inputpane.setLayout(new GridLayout(3,2));
inputpane.add(input1);