J2SE編程技術(shù)試驗(yàn)指導(dǎo)書_第1頁
J2SE編程技術(shù)試驗(yàn)指導(dǎo)書_第2頁
J2SE編程技術(shù)試驗(yàn)指導(dǎo)書_第3頁
J2SE編程技術(shù)試驗(yàn)指導(dǎo)書_第4頁
J2SE編程技術(shù)試驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、J2SE編程技術(shù)實(shí)驗(yàn)指導(dǎo)書使用專業(yè):計(jì)算機(jī)實(shí)驗(yàn)一、J2SE開發(fā)環(huán)境的安裝與配置一、實(shí)驗(yàn)?zāi)康模赫莆認(rèn)DK和IDE的安裝及使用二、實(shí)驗(yàn)要求:熟悉集成環(huán)境,通過設(shè)計(jì)一個(gè)簡(jiǎn)單的類來完成編碼編譯及運(yùn)行的全過程。三、實(shí)驗(yàn)原理java 一門是面向?qū)ο蟾呒?jí)程序設(shè)計(jì)語言,源程序由一個(gè)或多個(gè)類組成, 類是由屬性和方法組成。Java編譯器將java源程序編譯成中間的字節(jié)碼,再 由java虛擬機(jī)(JVM轉(zhuǎn)化成可由計(jì)算機(jī)執(zhí)行的二進(jìn)制碼,實(shí)現(xiàn)一次編寫,多 次運(yùn)行的效果。java 的源程序的擴(kuò)展名為.java,通過javac filename.java命令將源文件編譯成 filename. class 文件,通過 java

2、 filename 命令運(yùn)行程序。Eclipse是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java 語言開發(fā),通過安裝不同的插件Eclipse可以支持不同的計(jì)算機(jī)語言,比如C+ 和 Python 等開發(fā)工具。四、實(shí)驗(yàn)內(nèi)容1、安裝 JDK2 、編寫程序,掌握 eclipse 的使用程序 1:在控制臺(tái)輸出自己的學(xué)生信息程序 2:教科書程序設(shè)計(jì)題第 2 題五、實(shí)驗(yàn)步驟( 1)雙擊打開 eclispe( 2)設(shè)置工作路徑( 3)建立 java 工程( 4)新建 java 類(5)編寫源代碼(6)運(yùn)行程序,記錄運(yùn)行結(jié)果六、實(shí)驗(yàn)記錄與小結(jié)打印源碼及運(yùn)行結(jié)果實(shí)驗(yàn)二、 JAVA 繼承和多態(tài)、實(shí)驗(yàn)

3、目的掌握 java 程序語言的繼承相關(guān)概念和實(shí)現(xiàn)方法掌握J(rèn)AVA語言多態(tài)的相關(guān)概念及實(shí)現(xiàn)方法二、實(shí)驗(yàn)要求:通過編程體現(xiàn) JAVA 的繼承和多態(tài)特性三、實(shí)驗(yàn)原理Java 繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù), 新類的定義 可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承 父類。這種技術(shù)使得復(fù)用以前的代碼非常容易,能夠大大縮短開發(fā)周期,降 低開發(fā)費(fèi)用。多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。 多態(tài)性語言具有靈活、 抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問題。 多態(tài)有兩種表現(xiàn)形式:重載和覆蓋四、實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,計(jì)算多種幾何圖形的周長(zhǎng)和面

4、積(如矩形,三角形,圓形 等)五、實(shí)驗(yàn)步驟(1)編寫基類形狀類,定義計(jì)算周長(zhǎng)和面積方法(2)編寫多個(gè)具體形狀的子類,改寫父類方法(3)編寫使用者類。六、實(shí)驗(yàn)記錄與小結(jié)打印源碼及運(yùn)行結(jié)果參考程序:import java.util.*; import java.io.*;abstractclass shapepublicabstractdoublegetArea();publicabstractdoublegetPer();publicabstractvoid in put();class recta ngleexte nds shapedouble weight , height ;public

5、recta ngle()height );publicrectangle(double weight , doublethis . weight =weight ;this . height =height ;public double getArea()returnweight * height ;public double getPer()return( weight +height )*2;public void input()Scanner sc2 = new Scann er(System.inSystem. out .print("請(qǐng)輸入長(zhǎng):");weight

6、=sc2 .nextDouble();System. out .print("請(qǐng)輸入寬:");height =sc2 .nextDouble();class circleexte nds shapefinal double PI =3.14;double r;public circle()public circle( double r)this . r=r ;public double getArea()return PI * r * r;public double getPer()return 2* PI * r;public void input()Scanner sc

7、1 = new Scanner(System.in );System. out .print("請(qǐng)輸入半徑:");r =sc1 .n extDouble();public class exp2 public static void main(Stringargs ) throws IOException Stringsi , s2 , temp ;BufferedReader br ;shape s= new shape2;s0= new recta ngle();s1= new circle();br =new BufferedReader( new InputStrea

8、mReader(System.in );System. out .print( "請(qǐng)輸入要求的圖形(circlerectangle)q岀:");s2 =br .readLine();表示退while (! s2.equals( "q" )for (int i =0; i <2; i +)si =s i .getClass().getName();if ( s2 .equals( si ) si .input();System. out .println( "the area of "+si +" is " +

9、si .getArea();System. out .println("the per of "+si +" is " +si .getPer();System. out .print( "請(qǐng)輸入要求的圖形 (circle rectangle)q表示 退出 :" );s2=br .readLine();實(shí)驗(yàn)三 Java 輸入輸出流一、實(shí)驗(yàn)?zāi)康牧私釰ava輸入輸出的方法掌握J(rèn)ava的異常處理掌握J(rèn)ava的常用輸入輸出類二、實(shí)驗(yàn)要求 按要求編寫程序,得出正確的結(jié)果三、實(shí)驗(yàn)原理當(dāng)程序需要讀取數(shù)據(jù)的時(shí)候, 就會(huì)開啟一個(gè)通向數(shù)據(jù)源的流, 這個(gè)數(shù)

10、據(jù)源可以是文 件,內(nèi)存,或是網(wǎng)絡(luò)連接。類似的,當(dāng)程序需要寫入數(shù)據(jù)的時(shí)候,就會(huì)開啟一個(gè)通向目 的地的流。Java的中的流分為兩種, 一種是字節(jié)流,另一種是字符流,分別由四個(gè)抽象類來表 示(每種流包括輸入和輸出兩種所以一共四個(gè)) :InputStream, OutputStream , Reader, Writer。Java中其他多種多樣變化的流均是由它們派生出來的。四、實(shí)驗(yàn)內(nèi)容新建一個(gè)文本文件 ,并編程實(shí)現(xiàn)如下功能:(1)將此文件的內(nèi)容讀出,并存在并將它存放到e:盤以學(xué)號(hào)命名的文件當(dāng)中( 2)從鍵盤輸入學(xué)號(hào) ,姓名等個(gè)人信息,追加到文件末尾。( 3)將文件內(nèi)容讀出,打印在屏幕上。五、實(shí)驗(yàn)步驟(1

11、)新建Java工程(2)新建Java類( 3)編寫程序( 4)編譯運(yùn)行( 5)查看結(jié)果六、實(shí)驗(yàn)小結(jié)(附代碼和運(yùn)行結(jié)果的截圖)實(shí)驗(yàn)四、Java數(shù)組、字符串及常用類應(yīng)用一、實(shí)驗(yàn)?zāi)康恼莆認(rèn)ava中數(shù)組的使用掌握J(rèn)ava中字符串的使用掌握File類的使用二、實(shí)驗(yàn)要求按要求編寫程序,得出正確的結(jié)果三、實(shí)驗(yàn)原理數(shù)組是相同數(shù)據(jù)類型的元素按一定順序排列的集合,是把有限個(gè)類型相同的變量用一個(gè)名字命名,然后用編號(hào)區(qū)分他們的變量的集合Java字符串類(java.lang.String)是Java中使用最多的類,也是最為特殊的一個(gè)類。為了很方便的代表文件的概念,以及存儲(chǔ)一些對(duì)于文件的基本操作,在java.io包中設(shè)計(jì)

12、了一個(gè)專門的類一一 File類。在File類中包含了大部分和文件操作的功能方法,該類的對(duì)象可以代表一個(gè)具體的文件或文件夾。四、實(shí)驗(yàn)內(nèi)容編程實(shí)現(xiàn)如下內(nèi)容1、從鍵盤輸入帶路徑的文件名,如果文件存在,判斷該文件是否目錄,如果是,列出該目 錄下的所有文件,否,讀出文件內(nèi)容。如果文件不存在,則輸出提示信息。2、編寫程序?qū)崿F(xiàn)接受鍵盤輸入字符串,并判斷該字符是否是回文。五、實(shí)驗(yàn)步驟(1)新建Java工程(2)新建Java類(3 )編寫程序(4 )編譯運(yùn)行(5 )查看結(jié)果六、實(shí)驗(yàn)小結(jié)(附代碼和運(yùn)行結(jié)果的截圖)實(shí)驗(yàn)五 圖形界面編程與事件處理機(jī)制(一)一、實(shí)驗(yàn)?zāi)康?掌握?qǐng)D形用戶界面各種常用的基本組件的使用方法2、

13、掌握?qǐng)D形用戶界面各種布局策略的設(shè)計(jì)與使用3、掌握?qǐng)D形用戶界面的響應(yīng)機(jī)制二、實(shí)驗(yàn)要求按要求編寫程序,得出正確的結(jié)果三、實(shí)驗(yàn)原理AWT的全稱是抽象窗口工具集 (Abstract Window Toolkit)。AWT中包括了圖形界面編 程的基本類庫。其中主要由以下幾部分組成, 包括:組件類(Component)、容器類(Container)、 圖形類(Graphics)和布局管理器(LayoutManager)。在AWT中存在缺少剪貼板、缺少打印支持等缺陷,甚至沒有彈出式菜單和滾動(dòng)窗口等,因此Swing的產(chǎn)生也就成為必然。Swing是純Java實(shí)現(xiàn)的輕量級(jí)(light-weight)組件,它不依賴

14、系統(tǒng)的支持。AWT是Swing的基礎(chǔ),但是 Swing中卻提供了比 AWT更多的圖形界面組 件。而且Swing中組件的類名都是由字母"J”開頭,還增加了一些比較復(fù)雜的高級(jí)組件, 如 JTable、JTree。事件處理是圖形界面和用戶進(jìn)行交互的重要組成部分,Java中的事件處理機(jī)制主要包括有事件源、事件和事件處理器 3個(gè)部分。首先要做的是為事件注冊(cè)相對(duì)應(yīng)的事件處理器,并制定事件,然后由事件處理器獲取后進(jìn)行相應(yīng)的事件處理。四、實(shí)驗(yàn)內(nèi)容寫GUI應(yīng)用程序, 在GUI上,設(shè)計(jì)兩個(gè)文本框、兩個(gè)標(biāo)簽和兩個(gè)按鈕,當(dāng)文本框輸入兩個(gè)實(shí)數(shù)時(shí),點(diǎn)擊相加按鈕實(shí)現(xiàn)兩個(gè)實(shí)數(shù)相加,并在標(biāo)簽中顯示相加結(jié)果,點(diǎn)擊清除按

15、鈕完成對(duì)文本框和運(yùn)行結(jié)果的清除。程序運(yùn)行結(jié)果如圖所示。五、實(shí)驗(yàn)步驟(1)定義組件(3個(gè)文本框,2塊面板,2個(gè)標(biāo)簽,2個(gè)按鈕)(2) 設(shè)計(jì)布局面板1上添加順序添加文本框和標(biāo)簽,并把面板 1放置在框架的中間。面板2上添加兩個(gè)按鈕,并把面板 2放置在框架的南邊(3) 分別為兩個(gè)按鈕注冊(cè)事件監(jiān)聽,并編寫事件處理代碼。六、實(shí)驗(yàn)小結(jié)(附代碼和運(yùn)行結(jié)果的截圖)參考程序2- import j ava *;import i ava awt.event * *;4 import j avax.swing.;U public class work (:public static void main(String a

16、rgs )new MathWindow();8 9 class MathWindow extends JFrameLO CTextField tmxt17text 3;JPane.l psfpn;L2MathPJindow。13 textl=new JTexLF.eld(5);L ! JLabel textll - new JLabel ; ,T+");L5 text2=new JTextField(5);L6 JLabel 1 exh21 - new JLab( 1 (T,-,T);L7 txt13=new JTexjtFiAld (15;JButton buttonlrbutto

17、n2;19 buttonl=new JEutton ("相加”);20 button2=new JButton ('月青除”);21 ps=new JPanel ();22 pn=new JPanel();23 pn add(textl);*4 pn.add(textl丄);25 pn.add(text2);26 pri add (text21);27 pnadd(text3);28 text3setEditable(false);2 9 text3.sotBmckgjround(Color, green;BO pnSQtBackground(Color green);31

18、ps-add(buttonl);32 ps < add(buttcm2);33 pssetBackground(Color-blue);34 add(pn,BorderLayout.CENTERl;;35 add(ps,BorderLayout.SOUTH);36 setBounds(100,100,370150);37 setVisible(true);38 validate();39-buttonl -adciActionListene工(new ActionListener () 也CM public void actionPeirfo«nrLed(ActionEvent

19、 e)41 1 String sl=textl.getText();42 String s2=text2.gotText (;43 try4 4doublenl=Doub1e.parseDouble(s1);4 5doublen2=Double-parseDouble(s2);46 n2=nl4-n2;47 Strings=n2+ nT,;4 8text3setText (s.toStiinq();49)u1 catch(NumberFormatException ee)51 tQxt3SGtTextL清輸入數(shù)字字符T;52 tex setText(null); text2 setText(n

20、ull)53 54 J);ouLl_oe2 , addActionL丄s 一enei: (new Act丄onL丄mtener () public void actionPerformd(Act5onEvent 芒)'try :' + setText ;null);ext 1 . set Text( null ;;text.2 . setmext (null);u耳tch ;NumberFormatException ee) text3. setTKt r請(qǐng)輸入數(shù)宇宇符J ;ftextl. sotText (null) ; text2 (null) ; / I);set_?ef

21、 EiuItC_oseCperatLon (.J'B'rame»DISPOSE ON CLOSE) ; J 實(shí)驗(yàn)六 圖形界面編程與事件處理機(jī)制(二)一、實(shí)驗(yàn)?zāi)康?掌握?qǐng)D形用戶界面各種常用的基本組件的使用方法2、掌握?qǐng)D形用戶界面各種布局策略的設(shè)計(jì)與使用3、掌握?qǐng)D形用戶界面的響應(yīng)機(jī)制二、實(shí)驗(yàn)要求按要求編寫程序,得出正確的結(jié)果三、實(shí)驗(yàn)原理菜單分為三類,一類是固定的,即程序頂上的下拉式菜單,一類是彈出式菜單,另一類則是 浮動(dòng)式菜單。固定菜單,建立JMenuBar對(duì)象JMe nuBar men ubar = new JMe nuBar();將JMenuBar加入窗體:JFram

22、e.setJMe nuBar(me nubar);建立菜單Menu men uFile = new JMe nu("File")men ubar.add(me nu File);建立下拉菜單項(xiàng),JMe nultem n ewItem = new JMe nultem("New");men uFile.add( newltem);彈出式菜單建立頂級(jí)菜單JPopupMe nu popup = new JPopupMe nu (); 建立菜單選項(xiàng)JMe nultem cutitem = new JMe nultem("Cut"); popu

23、p.add(cutltem);浮動(dòng)式菜單JToolBar toolbar = new JToolBar(); 添加各種組件toolbar.add(exitAct ion);四、實(shí)驗(yàn)內(nèi)容 編寫GUI程序,實(shí)現(xiàn)一個(gè)簡(jiǎn)易記事本,能夠完成文件的讀寫。見面如下:五、實(shí)驗(yàn)步驟(1 )定義組件菜單欄,文件菜單 三個(gè)菜單選項(xiàng),彈出式菜單,彈出式菜單選項(xiàng),工具欄,工具欄上 按鈕組件,文本區(qū),滾動(dòng)面板。(2 )設(shè)計(jì)布局將菜單欄安置在框架上面,在菜單欄上添加菜單,在菜單上添加下拉菜單項(xiàng),在彈出 式菜單上添加菜單選項(xiàng)。在框架的北部添加工具欄,在中部添加帶文本區(qū)的滾動(dòng)面板。(3 )事件處理在菜單項(xiàng)和按鈕上注冊(cè)動(dòng)作事件,

24、在文本區(qū)上注冊(cè)鼠標(biāo)事件。六、實(shí)驗(yàn)小結(jié)(附代碼和運(yùn)行結(jié)果的截圖)12345689inort javaawtBorderLayout; import java.io.*;import javax.swing.*; import java.awt.even public class MenuExarnple args)public static void main(St工inqnew Menu();)class Menu extends JFramel11121314151617JMenuBar rnenuBar-new JMenuBar (); JMenu file-new JMzr丄u (”文f

25、?!?;JMenuItem open=new JMenuI打廿”); JMenuItem save- new JMeniHtem(”保存”); JMenuItem exit=new JMenuItem(;JMenuI temexitl=new JMenuI tem (4 n;18JToolBar tool-new JTooiEmr (”我的工具欄f,);19Imageicon iconew Iinagelcon. (nopen>gif,T);20JButton jhopen=new JButton(ico);21JTextArea tx=new JTextArea();2也Menu ()

26、23setSize(500r 500);24setDef au 丄 t CloseOpe 工 at ion ( JFxame > EXIT_ON_CLOSE,25setVisible(true);26set J14enuBar (menuBar);2 :exit.addActionListener(new ActionListGner()-28-public void actionPerformed(ActioelEv已nt e)29(System-exit(0);)I);open.addActionListener(new ActionListener()-31public void

27、actionPerformed(ActionEvent e)32 loadFile() ;J);33®save<addActionLi®t巳ner(new ActionLiotzne匚()JPopupMenu pop=new JPopupMenu();» *34 -public void actionPerformed(ActionEvent e)35 saveFileO ;);36menuBaradd(file);37file.add(open);38file.add(save);39file.addSeparator();40file.add(exit)

28、;41pop.add(exitl);|42tooleadd(jbopen);43-44-45464748-4 9-50515253-54555657585960616263646566676869707172737475767778798081 F jbopen addActionListenenew ActionListeneir() public void actionPerformed(ActionEvent |l loadFilef) ;|);getContentPmne() .addEew JScrollPane (tx, BorderLayout. CENTER;; gatCont

29、entPane(.add(tool,BorderLayout.NORTH;tx-addMouseListoner(new MouseAdapter() public void mouseReleased(MouseEvent e) if(e.isPopupTrigger()pop. show(tX/e>getX () ©getY(););void loadFile()(JFileChooser fc-nevz JFileChooser (M. n); int r-fc.showOpenDialog(this);if (r=JFilGChooser.APPKOVE-OPTIoyi

30、 File file=fc.getSelectmdFile();try:tx.read(new FileReader(file)f null); catch(IOException e)void saveFile()JFileChooser fc=new JFileChooser(); int r-fc.showSaveDialog(this);if(r=JFileChooser.APPROVE_OPTION) File file=fc.getSelectedFile(); trytXeWrit©(new FileWriter(file);catch(IOException e) )

31、實(shí)驗(yàn)七java數(shù)據(jù)庫編程、實(shí)驗(yàn)?zāi)康?理解JDBC的組成和結(jié)構(gòu)2、掌握J(rèn)ava程序與數(shù)據(jù)庫的鏈接技術(shù)3、 掌握在 Java 程序中使用 java.sql 包中提供的 DriverManager 類、Connection、Statement、ResultSet類來存取數(shù)據(jù)庫中數(shù)據(jù)的方法二、實(shí)驗(yàn)要求(1 )使用的數(shù)據(jù)庫系統(tǒng)不受限制,可以是小型數(shù)據(jù)庫系統(tǒng)如MS Access,VFP, MySql或者大型數(shù)據(jù)庫,如 SQL server等。(2)使用JDBC不受限制,可以使用J2SE中提供的JDBCC-ODBC橋,也可以使用其他數(shù)據(jù)庫專用的JDBC。(3 )在每項(xiàng)操作前后,分別顯示相應(yīng)信息,以驗(yàn)證操作是

32、否正確完成。三、實(shí)驗(yàn)原理JDBC ( Java Data Base Connectivityjava數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的 API,據(jù)此可以構(gòu)建更高級(jí)的工具和接 口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API編寫數(shù)據(jù)庫應(yīng)用程序簡(jiǎn)單地說,JDBC可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送操作數(shù)據(jù)庫的語句并處理結(jié)果JAVA數(shù)據(jù)庫編程中常用的類有:(1)DriverManager類是用來管理數(shù)據(jù)庫驅(qū)動(dòng)的(2)java.sql.Connection接口表示

33、應(yīng)用程序與數(shù)據(jù)庫的連接對(duì)象(3)Statement接口的對(duì)象是用來執(zhí)行 SQL語句的(4)ResultSet接口用來表示查詢結(jié)果集四、實(shí)驗(yàn)內(nèi)容首先建立一個(gè)數(shù)據(jù)庫,在數(shù)據(jù)庫中建立一個(gè)表,表名為學(xué)生,其結(jié)構(gòu)為:學(xué)號(hào)、姓名、性別、年齡、成績(jī),在表中輸入多條記錄(自己設(shè)計(jì)具體數(shù)據(jù))在此基礎(chǔ)上通過編程實(shí)現(xiàn)以下功能(1)查詢所有學(xué)生記錄(2)列出成績(jī)不及格的學(xué)生信息(3)6號(hào)學(xué)生成績(jī)加10分(4)刪除成績(jī)高于90分記錄五、實(shí)驗(yàn)步驟(1)建立數(shù)據(jù)庫2 ) 編寫程序1、裝載驅(qū)動(dòng)程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");2、建立連接con

34、=DriverManager.getConnection("jdbc:odbc:xuesheng);3、創(chuàng)建對(duì)象 Statement stmt = con.createStatement();4、執(zhí)行 SQL 語句 stmt.executeUpdate("delete from stu where sno=50");ResultSet rs=stmt.executeQuery("select * from stu where grade>80"); stmt.executeUpdate("update stu set grade

35、=grade+10 where sno=6");5、處理結(jié)果 while(rs.next() System.out.printf("%dt%st%st%st%dn",rs.getString(1),rs.getString(2),rs.getString(3),rs.g etString(4) , rs.getInt(5);六、實(shí)驗(yàn)結(jié)論import java.sql.*;class access public static void main(String arg)Connection con=null;tryClass.forName("sun.jdb

36、c.odbc.JdbcOdbcDriver");/ con=DriverManager.getConnection("jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=f:db2.mdb");con=DriverManager.getConnection("jdbc:odbc:xuesheng);Statement stmt = con.createStatement();ResultSet rs=stmt.executeQuery("select * from stu"); S

37、ystem.out.println(" 當(dāng)前表內(nèi)容為 :n");System.out.println(” 學(xué)號(hào) t 姓名 t 性別 t 年齡 t 成績(jī)”); while(rs.next()System.out.printf("%dt%st%st%st%dn",rs.getString(1),rs.getString(2),rs.getString(3),rs.g etString(4) ,rs.getInt(5);/刪除學(xué)號(hào)為 50 的學(xué)生stmt.executeUpdate("delete from stu where sno=50"

38、;);System.out.println(” 學(xué)號(hào) t 姓名 t 性別 t 年齡 t 成績(jī)");ResultSet rs=stmt.executeQuery("select * from stu");while(rs.next() System.out.printf("%dt%st%st%st%dn",rs.getString(1),rs.getString(2),rs.getString(3),rs.g etString(4) ,rs.getInt(5);/列出成績(jī)大于 80 的學(xué)生ResultSet rs=stmt.executeQuer

39、y("select * from stu where grade>80");while(rs.next() System.out.printf("%dt%st%st%st%dn",rs.getString(1),rs.getString(2),rs.getString(3),rs.g etString(4) , rs.getInt(5);/6 號(hào)學(xué)生成績(jī)?cè)黾?10 stmt.executeUpdate("update stu set grade=grade+10 where sno=6"); ResultSet rs=stmt.

40、executeQuery("select * from stu");while(rs.next() System.out.printf("%dt%st%st%st%dn",rs.getString(1),rs.getString(2),rs.getString(3),rs.g etString(4) , rs.getInt(5);rs.close();stmt.close();con.close();catch (Exception e) e.printStackTrace();實(shí)驗(yàn)八 java 網(wǎng)絡(luò)編程一、實(shí)驗(yàn)?zāi)康模?1)掌握客戶端套接字(2) 掌握服

41、務(wù)端套接字(3) 掌握套接字通信原理二、實(shí)驗(yàn)要求: 編程實(shí)現(xiàn)兩條主機(jī)的通信三、實(shí)驗(yàn)原理 一個(gè)典型的客戶機(jī)服務(wù)器的對(duì)話過程如下1. 服務(wù)器監(jiān)聽指定端口的輸入2. 客戶機(jī)發(fā)出一個(gè)請(qǐng)求3. 服務(wù)器收到這個(gè)請(qǐng)求4. 服務(wù)器處理這個(gè)請(qǐng)求,并把結(jié)果返回給客戶機(jī)5. 客戶機(jī)收到結(jié)果,并做出相應(yīng)處理四、實(shí)驗(yàn)內(nèi)容:客戶接受并且顯示出來。(1)編寫程序?qū)崿F(xiàn)客戶和服務(wù)器的通信,要求從服務(wù)器傳送信息,主要儀器設(shè)備:配備有 Java集成環(huán)境的PC機(jī)。五、實(shí)驗(yàn)步驟客戶端( socket) 過程 :綁定接口,主機(jī),建立連接 socket = new Socket(server, port); 得到輸入流,輸出流和服務(wù)交換數(shù)

42、據(jù) 寫數(shù)據(jù)(發(fā)送)PrintWriter os=new PrintWriter(socket.getOutputStream(); os.println(line);讀數(shù)據(jù)(接收)BufferedReader is=new BufferedReader(new InputStreamReader (socket.getInputStream();is.readLine() 完成后 : socket.close();os.close();is.close() 服務(wù)器端: SeverSocket過程: 綁定端口, 建立一個(gè) SeverSocket 對(duì)象 server=new ServerSocke

43、t(4700);等待客戶端的請(qǐng)求:socket=server.accept(); 建立輸入流,輸出流和客戶端交換數(shù)據(jù)寫數(shù)據(jù)(發(fā)送)PrintWriter os=new PrintWriter(socket.getOutputStream(); os.println(line);讀數(shù)據(jù)(接收)BufferedReader is=new BufferedReader(new InputStreamReader (socket.getInputStream();is.readLine()完成后 : socket.close();os.close();is.close()六、實(shí)驗(yàn)小結(jié) 參考程序 客戶端

44、 import java.io.*; import .*; public class Client * param args */public static void main(String args) trySocket client=new Socket("127.0.0.1",5000);BufferedReader sin=new BufferedReader(new InputStreamReader(System.in);BufferedReader is=new BufferedReader(new InputStreamReader(client.getIn

45、putStream();PrintWriter os=new PrintWriter(client.getOutputStream();String cmsg,smsg;cmsg=sin.readLine();while(!cmsg.equals("bye")os.println(cmsg);os.flush();System.out.println("me "+ cmsg);smsg=is.readLine();if (smsg=null) break;System.out.println("server; "+smsg);cmsg

46、=sin.readLine();System.out.println("over");os.close();is.close();client.close();catch (IOException e)System.out.println("err");服務(wù)器端import .*;import java.io.*;public class Server static int clientNum=1;public static void main (String args)throws IOExceptionServerSocket serversocket=null;tr

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論