java實(shí)現(xiàn)單詞查詢小程序
本文實(shí)例為大家分享了Java單詞查詢小程序,供大家參考,具體內(nèi)容如下
1、任務(wù)簡(jiǎn)介
本次分享的單詞查詢小程序是基于MySQL數(shù)據(jù)庫制作的,使用的詞匯表是我在博客《將Excel文件導(dǎo)入MySQL數(shù)據(jù)庫的方法》中講解的,首先我需要講解Java連接MySQL數(shù)據(jù)庫的方法,然后再給大家分享單詞查詢小程序。
2、Java連接MySQL數(shù)據(jù)庫的方法
1)要使用Java程序?qū)ySQL數(shù)據(jù)庫進(jìn)行操作,首先需要建立它們之間的連接,關(guān)于連接驅(qū)動(dòng)可以通過百度下載,下載解壓后可以得到一個(gè)jar包,將該包導(dǎo)入預(yù)先創(chuàng)建好的Java Project中,具體為右鍵點(diǎn)擊Java Project→New→Folder,文件名為lib,如下圖:
2)此時(shí)在該項(xiàng)目下會(huì)有l(wèi)ib文件夾出現(xiàn),將預(yù)先下載好的jar驅(qū)動(dòng)包拖動(dòng)到lib文件,此時(shí)會(huì)有如下顯示,點(diǎn)擊OK即可:
3)右鍵點(diǎn)擊Java Project→Build Path→Configure Build Path后進(jìn)到如下界面:
4)點(diǎn)擊Add JARs然后將剛才的lib包下的jar包導(dǎo)入:
5)這些步驟弄完后Myeclipse程序左邊的Java Project如下顯示:
3、單詞查詢小程序
1)由于需要實(shí)現(xiàn)單詞查詢功能,所以需要使用到Scanner類獲取用戶通過控制臺(tái)的輸入,關(guān)于Scanner類在5.15-5.21的任務(wù)中已經(jīng)使用到了,關(guān)于其更詳細(xì)知識(shí)可以通過菜鳥教程進(jìn)行學(xué)習(xí);
2)MySQL數(shù)據(jù)庫中使用到的表為之前博客中創(chuàng)建的english表,在本程序中SQL語句使用select * from english獲取整張表的信息,但是不使用輸出語句將這些信息輸出;
3)此外還需要定義一個(gè)布爾型變量來判斷表中是否含有所查詢的單詞,若沒有則輸出提示信息“沒有收錄該詞”,還需要使用if語句判斷用戶輸入的單詞是否與表中第一列的相同,語句為if(s.equalsIgnoreCase(english)),若相同則輸出該單詞的英文、中文和助記方法;
4)程序代碼如下:
import java.sql.Connection;//導(dǎo)入java.sql包下的Connection類 import java.sql.DriverManager;//導(dǎo)入java.sql包下的DriverManager類 import java.sql.ResultSet;//導(dǎo)入java.sql包下的ResultSet類 import java.sql.SQLException;//導(dǎo)入java.sql包下的SQLException類 import java.sql.Statement;//導(dǎo)入java.sql包下的Statement類 import java.util.Scanner;//導(dǎo)入java.util包下的Scanner類 public class Test666{//類名 public static void main(String[] args){//程序主函數(shù) String driver="com.mysql.jdbc.Driver";//驅(qū)動(dòng)程序名 String url="jdbc:mysql://localhost:3306/mysql";//URL指向要訪問的數(shù)據(jù)庫名mysql String user="root";//mysql配置時(shí)的用戶名 String password="root";//mysql配置時(shí)的密碼 while(true){//定義死循環(huán) try{//try代碼塊,當(dāng)發(fā)生異常時(shí)會(huì)轉(zhuǎn)到catch代碼塊中 Class.forName(driver);//加載驅(qū)動(dòng)程序 Connection con=DriverManager.getConnection(url,user,password);//DriverManager.getConnection方法連接mysql數(shù)據(jù)庫 if(con!=null&&!con.isClosed())//if語句的條件 System.out.println("請(qǐng)輸入需要查詢的單詞:");//輸出提示信息 Statement statement=con.createStatement();//創(chuàng)建statement類對(duì)象執(zhí)行SQL語句 Scanner in=new Scanner(System.in);//創(chuàng)建scanner,控制臺(tái)會(huì)一直等待輸入,直到敲回車結(jié)束 String s=in.nextLine();//用戶通過控制臺(tái)輸入單詞 String sql="select * from english";//使用SQL語句進(jìn)行條件查詢 ResultSet rs=statement.executeQuery(sql);//ResultSet類用來存放獲取的結(jié)果 System.out.println("查詢結(jié)果如下所示:");//輸出提示信息 boolean b=false;//判斷表中是否含有輸入的詞 while(rs.next()){//while循環(huán),游標(biāo)向下移動(dòng)一行 String english=rs.getString("english");//獲取id這列數(shù)據(jù) String chinese1=rs.getString("中文1");//獲取name這列數(shù)據(jù) String chinese2=rs.getString("中文2");//獲取sex這列數(shù)據(jù) String help=rs.getString("助記");//獲取age這列數(shù)據(jù) if(s.equalsIgnoreCase(english)){//輸入單詞存在于表中則執(zhí)行 System.out.println(english+"\n"+chinese1+"\n"+chinese2+"\n"+help);//輸出對(duì)應(yīng)單詞全部信息 b=true;//布爾型變量為true } } if(!b){//查不到該詞 System.out.println("沒有收錄該詞!");//輸出提示信息 } rs.close();//關(guān)閉流 con.close();//關(guān)閉流 }catch(ClassNotFoundException e){//當(dāng)try代碼塊有異常時(shí)轉(zhuǎn)到catch代碼塊 System.out.println("對(duì)不起,未找到驅(qū)動(dòng)!");//輸出提示信息 e.printStackTrace();//打印異常所在位置及原因 }catch(SQLException e){//當(dāng)try代碼塊有異常時(shí)轉(zhuǎn)到catch代碼塊 e.printStackTrace();//打印異常所在位置及原因 }catch (Exception e){//當(dāng)try代碼塊有異常時(shí)轉(zhuǎn)到catch代碼塊 e.printStackTrace();//打印異常所在位置及原因 }finally{ System.out.println("----------------------------------------");//分割線 } } } }
5)運(yùn)行結(jié)果如下:
4、總結(jié)
通過本博客不僅可以學(xué)習(xí)Java連接MySQL數(shù)據(jù)庫的方法,還可以學(xué)習(xí)Java對(duì)數(shù)據(jù)庫中一些數(shù)據(jù)的基本操作,自制一個(gè)單詞查詢小程序,如果對(duì)您有幫助的話麻煩關(guān)注一下博主,后續(xù)我還會(huì)陸續(xù)把其他的學(xué)習(xí)成果進(jìn)行分享。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文搞懂Java常見的三種代理模式(靜態(tài)代理、動(dòng)態(tài)代理和cglib代理)
Java中常見的三種代理模式是靜態(tài)代理模式、動(dòng)態(tài)代理模式和CGLIB代理模式,本文就來給大家詳細(xì)的講解一下這三種代理模式,感興趣的小伙伴跟著小編一起來看看吧2023-08-08SpringBoot+thymeleaf+Echarts+Mysql 實(shí)現(xiàn)數(shù)據(jù)可視化讀取的示例
本文主要介紹了SpringBoot+thymeleaf+Echarts+Mysql 實(shí)現(xiàn)數(shù)據(jù)可視化讀取的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04

Java double轉(zhuǎn)BigDecimal的注意事項(xiàng)說明

JAVA 多態(tài)操作----父類與子類轉(zhuǎn)換問題實(shí)例分析

idea手動(dòng)執(zhí)行maven命令的三種實(shí)現(xiàn)方式