A. 構建英漢詞典資料庫 java
*******************************************************************
假如InputDictionary.txt文件放在D盤根目錄下,新建類Dictionary.java,代碼如下:
*******************************************************************
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class Dictionary {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(
"d:\\InputDictionary.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter(
"d:\\OutputDictionary.txt"));
String input, output;
while ((input = br.readLine()) != null) {
output = input.replaceAll(" +", "\t");
bw.append(output);
bw.newLine();
}
bw.flush();
bw.close();
br.close();
System.out.println("Success!");
}
}
*******************************************************************
B. 求英漢詞典的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();
}
}
文本框輸入再回車.即可.
C. 一個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;k<tmp.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=root&password=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();
}
}
D. java英漢詞典
Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
E. 請問怎麼用JAVA編寫英漢字典程序
你要源碼的話,200分是不夠的。如果你給我1000塊錢,我會幫你把這個程序完完全全的寫出來。
反正沒什麼難度,就是體力活,大概3天時間可以寫完。1000塊錢剛好是我三天的工資。
----------
我不要你的分,但可以告訴你,其實這個除了繁瑣,沒有任何技術難度。
第一,在資料庫裡面將字典錄入,一張表就好
第二,編寫查詢界面,查詢資料庫裡面的表,找出對應的結果。
第三,輸入一個單詞的一部分,系統提示一系列可能的單詞,所白了也是一個查詢資料庫,沒敲一個鍵,系統檢測當前已經輸入的字,然後取資料庫裡面找到前端匹配的所有單詞的列表,顯示給用戶。
如果不用資料庫,就用xml文件來存儲也是可以的。
F. 用java編寫英漢詞典,實現英漢互譯,不能使用資料庫!!!!
IO流 + 文件操作
問題是你的字典要多大
1:如果數據量很小(小於1000),直接設置一個文件,然後全部讀入內存中,接下來是二分還是hash都好
2:如果數據量比較大的話,可以用多個文件,或者設置一個類似目錄的塊(
a 1
b 72
.........
)放在文件頭,省的把所有文件讀入內存,然後用什麼讀什麼就行
給的分太少啦,就簡單說說思路啦