java编写词典代码 java词库-成都快上网建站

java编写词典代码 java词库

求英汉词典的JAVA源程序代码

这么个东西就算有也发不来啊 简单来一段

成都创新互联公司专注于北塔网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供北塔营销型网站建设,北塔网站制作、北塔网页设计、北塔网站官网定制、小程序定制开发服务,打造北塔网络公司原创品牌,更为您提供北塔网站排名全网营销落地服务。

import java.awt.*;

import java.awt.event.*;

class MyWindow extends Frame implements ActionListener

{ TextField text1,text2,text3;

MyWindow()

{ setLayout(new FlowLayout());

text1=new TextField(8);

text2=new TextField(8);

text3=new TextField(15);

add(text1);

add(text2);

add(text3);

text1.addActionListener(this);

text2.addActionListener(this);

setBounds(100,100,150,150);

setVisible(true);

validate();

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==text1)

{ String word=text1.getText();

if(word.equals("boy"))

{ text3.setText("男孩");

}

else if (word.equals("girl"))

{ text3.setText("女孩");

}

else if (word.equals("sun"))

{ text3.setText("太阳");

}

else

{ text3.setText("没有该单词");

}

}

else if(e.getSource()==text2)

{ String word=text2.getText();

if(word.equals("男孩"))

{ text3.setText("boy");

}

else if (word.equals("女孩"))

{ text3.setText("girl");

}

else if (word.equals("太阳"))

{ text3.setText("sun");

}

else

{ text3.setText("没有该单词");

}

}

}

}

public class Example

{ public static void main(String args[])

{

new MyWindow();

new MyWindow();

new MyWindow();

new MyWindow();

}

}

文本框输入再回车.即可.

用Java来写有道词典,需要哪些知识

1.首先,你要确定你要开发什么样的软件,是PC端的,还是移动端的。

2.如果是PC端的,那么你要确定是Windows的,还是Mac OS的,或者是Linux的。前两者可能性最大。windows 的去学C#和Qt还有MFC,你现在掌握的C和C++肯定是不够的。Mac OS 去学Objective-C和Cocoa库/框架。

3.如果是移动端,你最容易的还是区别一下Android和IOS的。Android去学Java和Android对应的知识,比如去看第一行代码,对Android 有一个初步认识。IOS的话刚开始对C要求不高,你就先去学Objective-C。

4.可以查词的话你还的去学学算法,例如倒排索引,bfs,dfs等,刚开始可以直接上框架(可以了解一下solr和lucene),然后还得有词库。

一个Java编写的英汉词典

说先说:你的代码有错误,在最下面,我已经该过了,不是大问题。

如果你想学好java的话,可以根据这个代码加上我的注解去理解,但不要学这个代码的变成方式或者说变成习惯,这个代码基本上无误,但犯了一些常识性问题,如果养成了这些不好的习惯对以后的编程会有坏的影响。

我是英文学的java,所以有些注解可能不通顺,但我尽力而为了。 有的注解有点长,所以你复制到编译器后稍微编辑一下就可以运行。代码是可以运行,没有问题的。

------------------------------------

import javax.swing.*; //用来创建图形界面,如窗口,表格,按钮等。

import java.awt.*; //作用同上,但已经很少用,能用swing的地方就不要用awt

import java.awt.event.*;//事件管理和控制

import java.sql.*; //数据库语句和操作

import java.lang.System;//这个不知道

/*下面的这6个没有用,纯属写出来吓人*/

import javax.swing.tree.*;

import javax.swing.event.*;

import java.util.*;

import javax.swing.border.*;

import javax.swing.table.*;

import java.lang.String.*;

class Mywindow extends JFrame implements ActionListener//这个类implements actionlistener,意思就是它自己就可以执行actionListener的任务

{

JTextField txf=new JTextField(20); //建一个文字编辑框,长度20(只可以输入一行文字)

JTextArea jt=new JTextArea(10,30);//建一个文字编辑区域,长10宽30(可以回车然后输入多行文字)

JButton btn1=new JButton("查询");//建一个 查询 按钮

Mywindow()//构造函数,每个类必有的,可以为空

{

JFrame frm=new JFrame("Search");//建一个窗口(让其他的东西有地方可放,和容器一样。是3个最高级别的容器之一,其他两个是applet和window)

frm.setBounds(400,300,450,350);//设置大小和位置,前两个是坐标,后两个是大小

Container con=getContentPane();//建一个awt容器对象,用来添加其他元素,最好用这个添加元素。像:frm.add(all); 可以写成 con.add(all);

JPanel pnl4=new JPanel();//建一个面板用来添加其他元素(第二级别容器,最后需要被添加在frame上)

pnl4.setBorder(BorderFactory.createTitledBorder("Search"));//设置边框样式

pnl4.add(txf);//把文字编辑框添加到面板上

pnl4.add(btn1);//把按钮添加到面板上

btn1.addActionListener(this);//添加事件行为监听器(this),this意思是当前对象,呼应 implements ActionListener

JPanel pnl5=new JPanel();//同上

pnl5.setBorder(BorderFactory.createTitledBorder("Result"));//同上

jt.setWrapStyleWord(true);//这个忘了

jt.setLineWrap(true);//在区域规定的宽度下,如果文字的输入到一行最后则会自动令其一行继续,如果是(false),文字输入就会在这一行继续知道回车

pnl5.add(new JScrollPane(jt));//个这个面板添加右侧滚动条,当文字输入超过 长* 宽后 滚动条出现

JPanel all=new JPanel();//同上

all.setLayout(new BorderLayout());//设置布局,borderlayout()分东西南北(上下左右)中五个部分 无论窗口多大,中间占得面积最大

all.add(pnl4,BorderLayout.NORTH);//添加一个面板在上面

all.add(pnl5,BorderLayout.CENTER);//添加一个在中间

frm.add(all);//把最大的这个面板添加到窗口上 也可以用con.add(all);

frm.setVisible(true);//设置窗口显示属性 如果false就是不显示

frm.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});//加一个窗口监听 如果点小红叉关闭窗口则系统推出

}

public void actionPerformed(ActionEvent e)//作为ActionListener类的构造函数,如果你的class implements ActionListenser, 那就必须得有这个,也可以单独写一个class,不过有点麻烦

{

if(e.getSource()==btn1)//当按钮被点击的时候

{

String str="";//建一个字符串

String tmp=this.txf.getText();//同上,这个字符串的值是当前对象(窗口)中,文本框输入的值

for(int k=0;ktmp.length();k++)//建一个 永久循环

str+=tmp.charAt(k)+"%";//把 % 插入每一个字符后面, 作用后面说

String sql=null;//同上

Statement stmt=null;//定义一个stmt,用来建数据库连接的

sql="select * from chinese where charsound like'"+str+"'";//创建一个sql数据库语句,但它本身还是一个字符串

System.out.println(sql);//系统显示创建的语句,通常找错时候用的

try{//try 和 catch 的作用一句两句说不清楚 不知道你就自己查查

Class.forName("com.mysql.jdbc.Driver");//或者:Class.forName("org.gjt.mm.mysql.Driver");关联mysql数据库驱动

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/japan?user=rootpassword=sa");//建立连接,数据库名japan(为什么不是chinese?)用户名root密码sa

stmt=conn.createStatement();//建立statement对象,用来发送sql语句到数据库

ResultSet rs=stmt.executeQuery(sql);//运行语句并建立一个查询结果的集合

System.out.println("\n------------------------search :"+str+"-------------------------------");//同上

jt.setText("");//清空文本编辑区域

while(rs.next())//while循环,当还有结果的时候,把所有查询结果添加加到文本编辑区域中

{

jt.append(new String(rs.getString("charname").getBytes("iso-8859-1"),"gb2312")+"\t");

System.out.print(new String(rs.getString("charname").getBytes("iso-8859-1"),"gb2312")+"\t");

}

stmt.close();//关闭关连,很重要。

}

catch(Exception eq){System.out.println("error");}

//--------------------------------------------------------------end btn1-------

}

}

public static void main(String args[])

{

Mywindow win=new Mywindow();//建立一个 mywindow 对象

win.pack();//将所有元素整合

win.show();

}

}

C++或java编程建立一个词典

不需要两个文件,Java里有个散列表Map集合,它的值是键值对应的不重复列表(key,value)每个键值就是行号,单词就是值,可以任意增加删除修改,然后使用对象流直接把map集合写入文件

如果要拿出来,就从文件流中读取出来就行了

如果你想把它按顺序拿出来,就得把所有表都遍历一遍,然后再对它们进行排序,可以按键排,也可以按value排序,也可以自定义排序算法,这个看你有什么需求了


文章名称:java编写词典代码 java词库
链接URL:http://kswjz.com/article/dojdoci.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流