本文目錄一覽:
- 1、Java程序設計電子英漢詞典,幫忙根據我的程序寫一個frame主類程序,在線等,急!!!
- 2、一個Java編寫的英漢詞典
- 3、Java問題電子詞典查單詞
- 4、用java編寫英漢詞典,實現英漢互譯,不能使用數據庫!!!!
- 5、java編程詞典個人版如何跳過註冊碼
Java程序設計電子英漢詞典,幫忙根據我的程序寫一個frame主類程序,在線等,急!!!
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore(“pop3”);
store.connect(host, username, password);
Folder folder = store.getFolder(“INBOX”);
folder.open(Folder.READ_ONLY);
FetchProfile profile = new FetchProfile();
profile.add(UIDFolder.FetchProfileItem.UID);
profile.add(FetchProfile.Item.ENVELOPE);
if (folder instanceof POP3Folder) {
POP3Folder inbox = (POP3Folder) folder;
Message message[] = inbox.getMessages();
System.out.println(“Messages’s length: ” + message.length);
for (int i = 0; i message.length; i++) {
MimeMessage mimeMessage = (MimeMessage) message[i];
String uid = inbox.getUID(mimeMessage);
System.out.println(“uid=” + uid);
int UnreadMessageCount = inbox.getUnreadMessageCount();
System.out.println(“UnreadMessageCount=”+UnreadMessageCount);
int NewMessageCount = inbox.getNewMessageCount();
System.out.println(“NewMessageCount=”+NewMessageCount);
URLName urlName = inbox.getURLName();
System.out.println(“urlName=”+urlName);
}
}
}
一個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();
}
}
Java問題電子詞典查單詞
補充:我沒有ACCESS,我用的是odbc直接連接mdb文件,你可以用ACCESS同時操作mdb文件.如果要用到ACCESS,請修改bean中的屬性值.
你的東西做的很好
只是數據庫連接出了問題
這是我為你的工程寫的一個關於數據庫的bean
提供了一系列的數據操作方法
該類已經測試成功,只要添加到你的工程里就可以了。希望對你有用。
package lg_cidian;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 數據庫操作的JavaBean類,用於對數據庫的查詢與更新的實現;
* 該類默認的連接的數據庫為odbc連接本地數據文件;
* 該類主要為用戶一系列的數據操作提供底層服務.
*
* @version 1.0 2010/06/13
* @author Kiwwor
* @see UserData
*/
public class Access {
//驅動程序類
private String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
//連接數據庫url
private String connectionUrl=”jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=en.mdb”;
//用戶名
private String user = “”;
//用戶密碼
private String password = “”;
//數據庫連接對象
private Connection connection = null;
//數據庫對象
private Statement statement = null;
//數據集對象
private ResultSet resultSet = null;
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getConnectionUrl() {
return connectionUrl;
}
public void setConnectionUrl(String connectionUrl) {
this.connectionUrl = connectionUrl;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Connection getConnection() {
return connection;
}
public void setConnection(Connection connection) {
this.connection = connection;
}
public Statement getStatement() {
return statement;
}
public void setStatement(Statement statement) {
this.statement = statement;
}
public ResultSet getResultSet() {
return resultSet;
}
public void setResultSet(ResultSet resultSet) {
this.resultSet = resultSet;
}
/**
* 獲取一個連接對象,默認連接對象本地數據庫qq。
* @return 連接是否成功
*/
public boolean createConnection() {
boolean b = false;
try {
Class.forName(driver);
connection = DriverManager.getConnection(connectionUrl, user, password);
b = true;
} catch (Exception e) {
e.printStackTrace();
}
return b;
}
/**
* 更新數據庫
* @param sql 更新的sql語句
* @return 更新是否成功
*/
public boolean update(String sql) {
boolean b =false;
try {
statement = connection.createStatement();
statement.execute(sql);
b = true;
} catch (Exception e) {
e.printStackTrace();
}
return b;
}
/**
* 執行查詢,將查詢的結果集給resultmentSet。
* @param sql 查詢的sql語句
*/
public void query(String sql) {
try {
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 檢測結果集是否為空
* @return true為存在記錄
*/
public boolean next() {
boolean b = false;
try {
if (resultSet.next()) b = true;
} catch (Exception e) {
e.printStackTrace();
}
return b;
}
/**
* 獲得結果集中當前行columnLabel的記錄
* @param columnLabel 當前行要查詢的列名.
* @return 查詢的列值
*/
public String getValue(String columnLabel) {
String value = null;
try {
if (resultSet != null) value = resultSet.getString(columnLabel);
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
/**
* 獲得結果集中當前行columnIndex的記錄
* @param columnIndex 當前行查詢的列索引,第一列為1,第二列為2…
* @return 查詢的列值
*/
public String getValue(int columnIndex) {
String value = null;
try {
if (resultSet != null) value = resultSet.getString(columnIndex);
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
/**
* 關閉連接對象
*/
public void closeConnection() {
try {
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 關閉數據庫對象
*/
public void closeStatement() {
try {
if (statement != null) statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 關閉結果集
*/
public void closeResultSet() {
try {
if (resultSet != null) resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 關閉數據連接對象,數據庫對象和數據結果集對象。
*/
public void closeAll() {
closeResultSet();
closeStatement();
closeConnection();
}
/**
* 測試該類函數。
* @param args
*/
public static void main(String[] args) {
Access db = new Access();
if (db.createConnection()) {
System.out.println(“測試數據庫連接成功.”);
}
db.closeAll();
}
}
用java編寫英漢詞典,實現英漢互譯,不能使用數據庫!!!!
IO流 + 文件操作
問題是你的字典要多大
1:如果數據量很小(小於1000),直接設置一個文件,然後全部讀入內存中,接下來是二分還是hash都好
2:如果數據量比較大的話,可以用多個文件,或者設置一個類似目錄的塊(
a 1
b 72
………
)放在文件頭,省的把所有文件讀入內存,然後用什麼讀什麼就行
給的分太少啦,就簡單說說思路啦
java編程詞典個人版如何跳過註冊碼
用文件夾內的exe替換安裝目錄的同名文件。
java編程詞典個人版直接用文件夾內的exe替換安裝目錄的同名文件不需要客戶獲取註冊碼即可直接打開。
《Java編程詞典(個人版)》是明日科技為Java各級程序開發人員和編程愛好者開發的專業編程資源庫,它提供了海量的開發資源、豐富的實例項目、靈活的查詢方式、多樣的學習模式,既可以幫助零基礎者快速入門,又可以幫助有一定基礎者快速提升開發水平,更適合各級程序開發人員隨時檢索查詢,隨時粘貼復用。Java編程詞典個人版是程序開發人員的左膀右臂,軟件工程師必備的專業指南。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236520.html