面向?qū)ο蟪绦蛟O(shè)計(Java)-題庫_第1頁
面向?qū)ο蟪绦蛟O(shè)計(Java)-題庫_第2頁
面向?qū)ο蟪绦蛟O(shè)計(Java)-題庫_第3頁
面向?qū)ο蟪绦蛟O(shè)計(Java)-題庫_第4頁
面向?qū)ο蟪绦蛟O(shè)計(Java)-題庫_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、面對對象程序設(shè)計(java)題庫抽題規(guī)范:(1) 此題庫共75道題,抽8道作為期末考試題。其中,易8道,較易33道,較難18道,難16道.(2) 按題型,第一大題抽4道,每道10分;其次大題抽2道,每道10分;第三大題抽1道,每道20分;第四大題抽1道,每道20分。(3) 按難易程度:易(1道)、較易(4道)、較難(2道)、難(1道)。1、 解答題(共40道,抽4道,每道10分,共40分)1.面對對象有哪三大特征? 封裝,繼承,多態(tài).2.什么是類? (易)類是定義同一類全部對象的變量和方法的藍圖或原型。3. 什么是對象?對象是類的實例;對象是通過new className產(chǎn)生的,用來調(diào)用類的方

2、法;類的構(gòu)造方法 .。4. 類和對象的區(qū)分是什么?java中的類是模板,而對象是依據(jù)模版產(chǎn)生的實體5. 簡述Java的封裝性,如何在Java中實現(xiàn)封裝封裝性是指的把代碼封裝到大括號中,只能訪問自己內(nèi)部的數(shù)據(jù),外邊的東西訪問不了。實現(xiàn)為加訪問權(quán)限。6. 構(gòu)造方法有哪些特點方法名與類名相同,沒有返回值,可以有多個重載。7. 構(gòu)造方法的作用是什么? (較易)初始化對象,就是你new一個類的時候可以很便利的給你的對象里的屬性賦值。8. this在程序中所代表的意思(易)指當(dāng)前對象9繼承的作用是什么? (易)實現(xiàn)代碼復(fù)用。10. Java支持多繼承嗎? (易)不能。11. 子類可以繼承父類的哪些成員?

3、(較難)變量和構(gòu)造方法。12. 簡述構(gòu)造子類對象時子類和父類構(gòu)造方法執(zhí)行挨次(較易)先執(zhí)行父類再執(zhí)行子類。13. 什么是方法的重載,如何選擇被重載的方法?(較易)同一個類中如果同時存在兩個以上的方法有同一個名字,在這種情況下,我們說方法被重載了,這個過程被稱為重載。14什么是方法的重寫,如何選擇被重寫的方法?(較難)當(dāng)同名方法同時存在于子類和父類中時,對于子類來說就是將繼承父親的方法重載寫過了,實現(xiàn)功能完全和父類無關(guān)。15. 簡述重載和掩蓋的區(qū)分(較易)重載是讓同一方法名的方法可以處理和返回不同類型的數(shù)據(jù)而掩蓋是在子類中改寫父類的方法16. 什么是成員的隱藏?如何訪問被隱藏了的父類成員?(較易

4、)在子類對父類的繼承中,如果子類的成員變量和父類的成員變量同名,此時稱為子類隱藏了父類的成員變量。Super語句。17. 簡述this和super的區(qū)分(較難)this 即可以拿到自己的也可以拿到父類的, super 只能拿到父類的18. 簡述面對對象的多態(tài)性(較易)一個接口,多個方法19.簡述實例變量和類變量的區(qū)分(較易)1. 簡述靜態(tài)方法和實例方法的區(qū)分(較易)2. 簡述按值傳遞和按址傳遞的區(qū)分(較難)3. 什么是抽象類?抽象類中肯定有抽象方法嗎?(較難)4. 什么是接口?接口中的成員有什么特點?(較易)5. 簡述抽象類和接口的區(qū)分(較易)6. extends和implements的區(qū)分是

5、什么?(較易)7. final可以用在哪些地方,分別代表什么意思?(較易)8. static可以用在哪些地方,分別代表什么意思?(較易)9. 靜態(tài)代碼塊的作用是什么?它被執(zhí)行幾次?(較易) 10. Java中包的作用是什么(易)11. 在Java中,import和package的區(qū)分?(易)12. public,protected,default,private的區(qū)分(較易)13. 內(nèi)部類的作用是什么?內(nèi)部類常用在哪里?(較難)14. 簡述異常處理機制(較難)15. 簡述throw和throws的區(qū)分(較易)16. 簡述final和finally的區(qū)分(較易)17. 列出三個常見的異常并說明其

6、作用(較易)18. 簡述String和StringBuffer的區(qū)分(較易)19. 集合Collection包含哪兩大子接口?它們的區(qū)分是什么?(較易)20. 如何把一個字節(jié)流轉(zhuǎn)換成字符流?(較易)21. 讓一個類成為線程有哪兩種方式?(較易)2、 單項編程(共25題,抽2題,每題10分,共20分)1. 設(shè)計一個矩形類,有長和寬兩個屬性,能夠計算每一個矩形的面積和周長;再編寫一個主類,在其主方法main中創(chuàng)建一個簡略的矩形,求出該矩形的周長和面積。(較易)2. (1)設(shè)計一個圓類,有一個屬性半徑,能夠計算每一個圓的面積和周長;再編寫一個主類,在其主方法main中創(chuàng)建一個簡略的圓形,求出該圓形的

7、周長和面積。(較易)3. 設(shè)計一個盒子類Box,它有長、寬、高三個私有成員屬性,包含無參數(shù)和有參數(shù)的構(gòu)造方法,分別實現(xiàn)設(shè)置和獵取屬性的setter和getter方法,以及求盒子體積的公有方法。其中,構(gòu)造方法用于對成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。再編寫一個主類BoxTest,在其主方法main()中創(chuàng)建若干個Box對象,輸出其長、寬、高及其體積的值。(較易)4. 設(shè)計一個人類,有姓名、年齡、性別、身高、體重屬性,以及吃飯、穿衣服、跑步行為;再編寫一個主類,在其主方法main中創(chuàng)建兩個人類對象,并分別為各個對象的屬性賦初值,然后打印出各個對象的全部基本信息。(較易)5. 編

8、寫同學(xué)類和成果類。成果有科目和分?jǐn)?shù)信息。同學(xué)有姓名和成果信息,同學(xué)類的getResult()方法顯示輸出成果信息,setData()方法實現(xiàn)初始化同學(xué)信息。(較難)6. (1)定義一個動物類Animal,有動物類型屬性type和動物發(fā)聲的方法sound();(2)定義基于動物類的狗類Dog和貓類Cat,這兩個類都要求掩蓋父類的發(fā)聲方法;(3)定義AnimalDemo類,聲明一個Animal對象,分別創(chuàng)建一個Dog、Cat類的對象,然后通過Animal對象來訪問Dog、Cat類對象的sound()方法。(難)7. (1)設(shè)計一個表示二維平面上圓的類Circle,有表示圓半徑的protected類

9、型的成員變量radius、獵取和設(shè)置radius值的public方法、計算圓面積的public方法。(2)設(shè)計一個表示圓柱體的類Cylinder,它繼承自類Circle,還包含有表示圓柱體高的protected類型的成員變量height、獵取和設(shè)置height值的public方法、計算圓柱體體積的public方法。(3)建立若干個Cylinder對象,輸出其半徑、高及其體積的值。要求:A、每個類包含無參數(shù)和有參數(shù)的構(gòu)造方法。構(gòu)造方法用于對成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。B、子類的構(gòu)造方法調(diào)用父類的構(gòu)造方法,對父類中的成員變量初始化。(較難)8. 請使用繼承關(guān)系實現(xiàn)下列描

10、述: (較難)自行車和豪車屬于車類型車(car):車牌號(cid)、車型(dtype)、價值(cvalue)自行車(bicycle):車牌號(cid)、車型(dtype)、價值(cvalue)、鏈條(chain)豪車(limo):車牌號(cid)、車型(dtype)、價值(cvalue)、導(dǎo)航(guide)9. 使用一個類里面包含其他類的對象的方法實現(xiàn)下列描述:(較難)有1個組長,手下有2個助手,每個助手有2部車。組長(leader):姓名(lname)、年齡(lage)助手(asist):編號(aid)、年齡(aage)、姓名(aname)、愛好(ahobby)車(car):車牌號(cid)

11、、車型(dtype)、價值(cvalue)10. 使用一個類里面包含其他類的對象的方法實現(xiàn)下列描述:(較難)有1個人,人有2個寵物且有2部車。人(people):姓名(pname)、年齡(page)寵物(pet):編號(petid)、年齡(petage)、姓名(petname)車(car):車牌號(cid)、車型(dtype)、價值(cvalue)11. 使用一個類里面包含其他類的對象的方法實現(xiàn)下列描述:(較難)有1個房間,里面有1個冰箱,冰箱里面有1個飲料房間有型號和大小2個屬性冰箱有型號、顏色和耗電量3個屬性飲料有類型和價值2個屬性12. 定義抽象的Intrument(樂器)類,聲明一個抽

12、象的play();定義一個派生類Stringed(弦類樂器),實現(xiàn)父類的抽象的play()。在main()中實例化Stringed類調(diào)用play()。(難)13. 定義含有抽象方法print()的基類,在構(gòu)造方法中調(diào)用print();print()方法在派生類被重寫,該方法打印在派生類中定義的成員變量i,在定義i時給定非零的初始值;在main()中,創(chuàng)建派生類的對象,然后調(diào)用print()。(難)14. 定義一個接口Myinterface,有兩個抽象方法max()和min();在Operation類中實現(xiàn)該接口,同時實現(xiàn)抽象方法max()和min(),它們分別用于求任意三個整數(shù)中的最大值和最小

13、值。(難)15. 定義一個Compute接口,有抽象方法add()、substract()、multiply()和divide();定義一個實現(xiàn)Compute接口的類Computer,然后創(chuàng)建Computer對象完成加、減、乘和除四個方法的調(diào)用。(難)16. 設(shè)計一個汽車類Auto,有速度屬性speed,另外,有啟動state,加速speedup和停止stop方法,然后,設(shè)計一個子類Bus表示公共汽車,Bus增加一個屬性passenger表示乘客數(shù),另外添加兩個方法gotOn和gotOff表示乘客上下車。(較難)17. 設(shè)計一個時間類MyTime,包含一個構(gòu)造方法,3個私有成員變量hour、m

14、inute、second以及它們相應(yīng)的setter和getter方法,再加上一個轉(zhuǎn)換成“XX時:XX分:XX秒”格式字符串的方法toString。(較易)18. 設(shè)計一個日期類MyDate,包含一個構(gòu)造方法,3個私有成員變量year、month、day以及它們相應(yīng)的setter和getter方法,再加上一個轉(zhuǎn)換成“XXXX年XX月XX日” 格式字符串的方法toString。(較易)19. 實做一個點類Point,包含兩個成員變量x,y分別表示x和y坐標(biāo),兩個構(gòu)建器Point()和Point(int x0,int y0),以及一個movePoint(int dx,int dy)方法實現(xiàn)點的位置移

15、動。編寫一個程序,創(chuàng)建兩個Point對象p1,p2,分別調(diào)用movePoint方法后,打印p1和P2的坐標(biāo)。(難)20. 使用ArrayList添加5個數(shù)(如:25、66、88、33、77),求出這5個數(shù)的平均數(shù)并顯示在掌握臺。(較易)21. 使用Set添加5個元素(如:a,b,c,d,e),并將全部元素輸出到掌握臺。(較易)22. 使用Map添加班上5個同學(xué)的學(xué)號和姓名,在掌握臺輸出這5個同學(xué)的學(xué)號和姓名信息。(較易)23. 創(chuàng)建一個圖書類Book,其屬性有書號id、書名name、作者author和出版社press;再聲明三個Book對象并賦值;然后依次用Set、List、Map集合來實現(xiàn)對

16、Book對象數(shù)據(jù)的存儲,并輸出相應(yīng)圖書信息(難)24. 設(shè)計一個程序從Thread類派生,用它建立兩個線程a和b,a線程每隔0.1秒輸出一個字符a,共輸出10個a,b線程每隔0.2秒輸出一個字符b,也輸出10個b。(難)25. 請計算1100之間的奇數(shù)之和,并實現(xiàn)在屏幕上每2秒鐘輸出一步計算結(jié)果如:(難)1+3=44+5=93、 類的綜合應(yīng)用(共5道,抽1道,每道20分) (一)武器問題(較難)1定義一個Weapon (武器)抽象類 要求:1)定義兩個屬性 (1) 武器的名稱 name (2)武器的顏色 color 2)定義一個抽象方法showMe() 2定義Pistol (手槍) Sword

17、 (軍刀) Axe (斧頭)三個簡略的武器類繼承Weapon 1)分別重寫showMe方法,該方法功能是在掌握臺顯示該武器的信息 注:武器的信息就包括它的名稱和顏色3定義一個入口類Access 在main方法里面去測試功能 要求: 1) 定義一個List集合 2) 建立上面的三種武器對象各3個,給他們?nèi)∶?并且指定顏色 3) 把這些對象放在定義好的List里面 4) 循環(huán)這個List取出對象去調(diào)用武器類的showMe方法(二)寵物問題(較難)1定義一個Animal(動物)抽象類 要求:1)定義兩個屬性 (1) 動物的名稱 name (String類型) (2)動物的毛色 color (Str

18、ing類型) 2)定義一個抽象方法showMe() 2分別定義Cat Dog Snake三個寵物類繼承Animal 1)分別重寫showMe方法,該方法功能是在掌握臺顯示該寵物的信息 注:寵物的信息就包括它的名稱和顏色3定義一個入口類Access 在main方法里面去測試功能 要求: 1) 定義一個List集合 2) 建立上面的三種寵物對象各3個,給他們?nèi)∶?并且指定毛色 3) 把這些對象放在定義好的List里面 4) 循環(huán)這個List取出對象去調(diào)用動物類的showMe方法(三)家具問題(較難)1定義一個Furniture (家具)抽象類 要求:1)定義兩個屬性 (1) 家具的名稱 name

19、 (String類型) (2)家具的顏色 color (String類型) 2)定義一個抽象方法showMe() 2定義Sofa(沙發(fā)) Desk(桌子) Chair (椅子)三個簡略的家具類繼承Furniture 1)分別重寫showMe方法,該方法功能是在掌握臺顯示該家具的信息 注:家具的信息就包括它的名稱和顏色3定義一個入口類Access 在main方法里面去測試功能 要求: 1) 定義一個List集合 2) 建立上面的三種家具對象各3個,給他們?nèi)∶?并且指定顏色 3) 把這些對象放在定義好的List里面 4) 循環(huán)這個List取出對象去調(diào)用家具類的showMe方法(四)、箱子問題(難

20、)1定義一個Box(箱子)類 要求:1)定義一個屬性 (1) 箱子容器(用List集合表示) box 提示:用來存放物品2定義Apple(蘋果)類 要求: 1) 定義兩個屬性(1) 蘋果的體積 bulk (用float數(shù)據(jù)類型) (2) 蘋果的顏色 color(用String數(shù)據(jù)類型) 2) 定義一個方法public void showMe() 該方法功能是在掌握臺展現(xiàn)蘋果的屬性3在箱子類里面添加幾個方法 要求: 1) 建立方法可以往箱子里面放一個蘋果 public void putApple(Apple apple) 提示:直接放在List集合里面2) 建立方法可以在箱子里面取出一個蘋果 p

21、ublic Apple getApple() 提示:取的時候注意推斷箱子里面是否還有蘋果存在 3) 建立方法查看箱子里面還有多少個蘋果 public int getSize()4. 建立一個Access類 在main方法里面創(chuàng)建一個箱子對象和5個蘋果對象測試往 箱子里面放蘋果取蘋果的方法 (五)、子彈放射問題(難)1定義一個Pistol (槍)類 要求:1)定義一個屬性,彈夾 (用int表示) charger 提示:用來表示當(dāng)前子彈數(shù)量 2) 定義一個方法public void shoot() 該方法的功能是在掌握臺打印放射兩個字,但是需要推斷當(dāng)前彈夾里 面還有子彈沒 如果沒有就打印沒有子彈的

22、提示, 注意:成功放射了之后彈夾會少掉一個子彈 3) 定義一個方法用來給彈夾上子彈 public void setBullet () 注意:調(diào)用此方法一次給彈夾上20發(fā)子彈 4) 重載上子彈方法 供應(yīng)可以指定上多少數(shù)量子彈的功能 public void setBullet (int i) 注意:最多能指定30發(fā) public int getSize()4. 建立一個Access類 在main方法里面創(chuàng)建一個手槍對象測試一下上面4個方法 正確否 給手槍上子彈 放射子彈4、 JDBC操作數(shù)據(jù)庫(共5道,抽1道,每道20分):此題作為填空題,每道題10個空,每個空2分.黃色部分為填空。(一)用數(shù)據(jù)庫

23、存放城市信息(難)1創(chuàng)建名為test的數(shù)據(jù)庫2在數(shù)據(jù)庫test中創(chuàng)建城市(City)表字段描述長度類型備注City _id城市編號32VarcharPk(主鍵)City _name城市名稱30VarcharCity _country所屬國家30VarcharCity _note城市簡介200Varchar3建立一個類來封裝城市信息(City),放在com.zdsoft.po包下 供應(yīng)四個私有屬性: 城市編號 城市名稱 所屬國家 城市簡介 4建立CityDao類,利用DBUtil類 建立方法對城市信息進行查詢與刪除操作 該類放在com.zdsoft.dao包下1) 建立方法通過城市名稱查詢單個城

24、市public City findCity(String city_name)注:查詢出來的城市信息封裝在Ctiy對象里 2) 能夠通過Id刪除某條城市信息public void deleteCity(String city_id) 5建立Access類在main函數(shù)中測試對城市表的查,刪方法 該類放在com.zdsoft.access包下.package com;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;impo

25、rt java.sql.Statement;public class DBUtil private Connection conn = null; / 數(shù)據(jù)庫連接對象private Statement st = null;/ 執(zhí)行sql語句的對象private ResultSet rs = null;/ 存放查詢結(jié)果的對象/* * 獲得ResultSet * return ResultSet */public ResultSet getRs() return rs;/* * 獲得數(shù)據(jù)庫連接 */private void getConnection() final String DRIVERNA

26、ME = com.mysql.jdbc.Driver;final String URL = jdbc:mysql:/localhost:3306/test?characterEncoding=utf-8;final String LOGIN = root;/ 數(shù)據(jù)庫管理員用戶名final String PASSWORD = ;/ 數(shù)據(jù)庫密碼try Class.forName(DRIVERNAME); / 加載驅(qū)動程序conn = DriverManager.getConnection(URL, LOGIN, PASSWORD); catch (Exception e) System.out.p

27、rintln(執(zhí)行g(shù)etConnection()方法出錯:);e.printStackTrace();public DBUtil()getConnection();try st = conn.createStatement(); catch (SQLException e) e.printStackTrace();/* * 數(shù)據(jù)庫查詢 * param sql 傳入的SQL語句 */public void executeQuery(String sql)tryrs=st.executeQuery(sql);/執(zhí)行SQL語句獲得結(jié)果集catch(Exception e)System.out.pri

28、ntln(執(zhí)行executeQuery(String sql)方法出錯:+sql);/我們要養(yǎng)成習(xí)慣如果發(fā)生了錯誤首先看打印出來的sql語句有沒有問題e.printStackTrace();/打印出錯誤緣由/* * 數(shù)據(jù)庫增加/刪除/修改 * param sql 傳入的SQL語句 * return 0執(zhí)行成功 */public int executeUpdate(String sql)int ret=-1;tryret=st.executeUpdate(sql);/執(zhí)行SQL語句對數(shù)據(jù)表進行操作,變量ret存放對表修改了多少行catch(Exception e)System.out.print

29、ln(執(zhí)行executeUpdate(sql)方法出錯:+sql);e.printStackTrace();/打印出錯誤緣由finallyclose();return ret;/* * 數(shù)據(jù)庫關(guān)閉 */public void close()try if (rs!=null)rs.close();/關(guān)閉結(jié)果集if (st!=null)st.close();/關(guān)閉Statement對象if (conn!=null)conn.close();/關(guān)閉連接catch(Exception e)System.out.println(執(zhí)行close()方法出錯:);e.printStackTrace();pa

30、ckage com.zdsoft.po;public class City private String cityId;private String cityName;private String cityCountry;private String cityNote;public String getCityId() return cityId;public void setCityId(String cityId) this.cityId = cityId;public String getCityName() return cityName;public void setCityName

31、(String cityName) this.cityName = cityName;public String getCityCountry() return cityCountry;public void setCityCountry(String cityCountry) this.cityCountry = cityCountry;public String getCityNote() return cityNote;public void setCityNote(String cityNote) this.cityNote = cityNote;package com.zdsoft.

32、dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.DBUtil;import com.zdsoft.po.City;public class CityDao DBUtil db = null;public CityDao() db = new DBUtil();public City findcity(String city_name) String sql = select * from city wher

33、e city_name=+ city_name + ;db.executeQuery(sql);ResultSet res = db.getRs();City c = new City();try while (res.next() c.setCityId(res.getString(city_id);c.setCityCountry(res.getString(class_name);c.setCityName(res.getString(city_name);c.setCityNote(res.getString(city_sex); catch (SQLException e) e.pr

34、intStackTrace();return c;public void deleteCity(String city_id) String sql = delete from city where city_id= + city_id + ;if (db.executeUpdate(sql) 0) System.out.println(數(shù)據(jù)刪除成功); else System.out.println(數(shù)據(jù)刪除失敗);package com.zdsoft.access;import java.util.List;import com.zdsoft.dao.CityDao;import com.

35、zdsoft.po.City;public class Access public static void main(String args) CityDao dao = new CityDao();City s = dao.findcity(重慶);System.out.print(s.getCityId();System.out.print(s.getCityName();System.out.print(s.getCityCountry();System.out.println(s.getCityNote();dao.deleteCity(023);(二)、用數(shù)據(jù)庫存放用戶信息(難)1創(chuàng)

36、建名為test的數(shù)據(jù)庫2在數(shù)據(jù)庫test中創(chuàng)建用戶 (User)表字段描述長度類型備注User _id用戶編號32VarcharPk(主鍵)User _name用戶帳號30VarcharUser _pass用戶密碼30VarcharUser _date創(chuàng)建時間Date3建立一個類來封裝用戶信息(User),放在com.zdsoft.po包下 供應(yīng)四個私有屬性: 用戶編號 用戶帳號 用戶密碼 創(chuàng)建時間 4建立UserDao類,利用DBUtil類 建立方法對用戶信息進行查詢與刪除操作 該類放在com.zdsoft.dao包下1) 建立方法通過用戶編號查詢某個用戶信息public User find

37、User(String User_id)注:查詢出來的用戶信息封裝在User 對象里 2) 能夠通過Id刪除某條用戶信息 public void deleteUser(String User_id) 5建立Access類在main函數(shù)中測試對用戶表的查,刪方法 該類放在com.zdsoft.access包下.package com;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.State

38、ment;public class DBUtil private Connection conn = null; / 數(shù)據(jù)庫連接對象private Statement st = null;/ 執(zhí)行sql語句的對象private ResultSet rs = null;/ 存放查詢結(jié)果的對象/* * 獲得ResultSet * return ResultSet */public ResultSet getRs() return rs;/* * 獲得數(shù)據(jù)庫連接 */private void getConnection() final String DRIVERNAME = com.mysql.jd

39、bc.Driver;final String URL = jdbc:mysql:/localhost:3306/test?characterEncoding=utf-8;final String LOGIN = root;/ 數(shù)據(jù)庫管理員用戶名final String PASSWORD = ;/ 數(shù)據(jù)庫密碼try Class.forName(DRIVERNAME); / 加載驅(qū)動程序conn = DriverManager.getConnection(URL, LOGIN, PASSWORD); catch (Exception e) System.out.println(執(zhí)行g(shù)etConne

40、ction()方法出錯:);e.printStackTrace();public DBUtil()getConnection();try st = conn.createStatement(); catch (SQLException e) e.printStackTrace();/* * 數(shù)據(jù)庫查詢 * param sql 傳入的SQL語句 */public void executeQuery(String sql)tryrs=st.executeQuery(sql);/執(zhí)行SQL語句獲得結(jié)果集catch(Exception e)System.out.println(執(zhí)行executeQue

41、ry(String sql)方法出錯:+sql);e.printStackTrace();/打印出錯誤緣由/* * 數(shù)據(jù)庫增加/刪除/修改 * param sql 傳入的SQL語句 * return 0執(zhí)行成功 */public int executeUpdate(String sql)int ret=-1;tryret=st.executeUpdate(sql);/執(zhí)行SQL語句對數(shù)據(jù)表進行操作,變量ret存放對表修改了多少行catch(Exception e)System.out.println(執(zhí)行executeUpdate(sql)方法出錯:+sql);e.printStackTrac

42、e();/打印出錯誤緣由finallyclose();return ret;/* * 數(shù)據(jù)庫關(guān)閉 */public void close()try if (rs!=null)rs.close();/關(guān)閉結(jié)果集if (st!=null)st.close();/關(guān)閉Statement對象if (conn!=null)conn.close();/關(guān)閉連接catch(Exception e)System.out.println(執(zhí)行close()方法出錯:);e.printStackTrace();package com.zdsoft.po;public class User private Stri

43、ng userId;private String userName;private String userPass;private String userDate;public String getUserId() return userId;public void setUserId(String userId) this.userId = userId;public String getUserName() return userName;public void setUserName(String userName) this.userName = userName;public Str

44、ing getUserPass() return userPass;public void setUserPass(String className) this.userPass = className;public String getUserDate() return userDate;public void setUserDate(String userSex) this.userDate = userSex;package com.zdsoft.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.

45、util.ArrayList;import java.util.List;import com.DBUtil;import com.zdsoft.po.User;public class UserDao DBUtil db = null;public UserDao() db = new DBUtil();public User findUser(String User_id) String sql = select * from User where User_id=+ User_id + ;db.executeQuery(sql);ResultSet res = db.getRs();Us

46、er u = new User();try if(res.next() u.setUserId(res.getString(User_id);u.setUserPass(res.getString(user_pass);u.setUserName(res.getString(User_name);u.setUserDate(res.getString(User_date); catch (SQLException e) e.printStackTrace();return u;public void deleteUser(String User_id) String sql = delete

47、from User where User_id= + User_id + ;if (db.executeUpdate(sql) 0) System.out.println(數(shù)據(jù)刪除成功); else System.out.println(數(shù)據(jù)刪除失敗);package com.zdsoft.access;import java.util.List;import com.zdsoft.dao.UserDao;import com.zdsoft.po.User;public class Access public static void main(String args) UserDao dao

48、= new UserDao();User u = dao.findUser(123);System.out.print(u.getUserId();System.out.print(u.getUserName();System.out.print(u.getUserPass();System.out.println(u.getUserDate();dao.deleteUser(123);(三)、用數(shù)據(jù)庫存放書籍信息(難)1創(chuàng)建名為test的數(shù)據(jù)庫2在數(shù)據(jù)庫test中創(chuàng)建作者(book)表字段描述長度類型備注Book_id書籍編號32VarcharPk(主鍵)Book_name書籍名稱20Var

49、charAuthor_name作者名稱20VarcharAuthor_sex作者性別10Varchar3建立一個類來封裝書籍信息(Book),放在com.zdsoft.po包下 供應(yīng)三個私有屬性: 作者名稱 書籍名稱 作者性別 4建立BookDao類,利用DBUtil類 ,建立方法對書籍信息進行查詢與刪除操作,該類放在com.zdsoft.dao包下1) 建立方法通過作者姓名查詢多本書籍public List findBooks(String author_name)注:查詢出來的書籍信息封裝在Book對象里并且放在集合中2) 能夠通過Id刪除書籍public void deleteBook(

50、String book_id) 5建立Access類在main方法中測試對書籍表的查,刪方法 該類放在com.zdsoft.access包下.package com;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBUtil private Connection conn = null; / 數(shù)據(jù)庫連接對象private Statement st = null;/ 執(zhí)行sql語句的對象private ResultSet rs = null;/ 存放查詢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論