Java基礎(chǔ)程序設(shè)計(jì)編程題1_第1頁(yè)
Java基礎(chǔ)程序設(shè)計(jì)編程題1_第2頁(yè)
Java基礎(chǔ)程序設(shè)計(jì)編程題1_第3頁(yè)
Java基礎(chǔ)程序設(shè)計(jì)編程題1_第4頁(yè)
Java基礎(chǔ)程序設(shè)計(jì)編程題1_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

/第一章1、請(qǐng)使用Eclipse編寫(xiě)一個(gè)程序,程序運(yùn)行后,在控制臺(tái)輸出“這是我的第一個(gè)Java程序”。publicclassFirstJava{ publicstaticvoidmain(String[]args){ System.out.println("這是我的第一個(gè)Java程序"); }}第二章1、請(qǐng)編寫(xiě)一個(gè)程序,計(jì)算100以?xún)?nèi)所有奇數(shù)的和。提示:1)使用循環(huán)語(yǔ)句實(shí)現(xiàn)自然數(shù)1~99的遍歷。2)在遍歷過(guò)程中,通過(guò)條件判斷當(dāng)前遍歷的數(shù)是否為偶數(shù),如果是,就continue,如果是奇數(shù)進(jìn)行疊加運(yùn)算。publicclassDemo01{ publicstaticvoidmain(String[]args){ intsum=0; for(intx=1;x<100;x++){ if(x%2==0){ continue; } sum+=x; } System.out.println("sum="+sum); }}2、定義一個(gè)函數(shù),找出數(shù)組中的最大數(shù)或最小數(shù)。publicclassDemo02{ publicstaticvoidmain(String[]args){ int[]array={5,10,-8,-2,-500,50,200}; //最大數(shù) intmax=array[0]; for(inti=1;i<array.length;i++){ if(array[i]>max){ max=array[i]; } } System.out.println("數(shù)組中最大的數(shù)是:"+max); //最小數(shù) intmin=array[0]; for(inti=1;i<array.length;i++){ if(array[i]<min){ min=array[i]; } } System.out.println("數(shù)組中最小的數(shù)是:"+min); }}第三章1、編寫(xiě)一個(gè)程序,要求創(chuàng)建一個(gè)Student類(lèi),添加name和age屬性,為該屬性自動(dòng)添加相應(yīng)的getter和setter方法,并給出有參和無(wú)參的構(gòu)造方法。publicclassStudent{ privateStringname; privateintage; publicStudent(){ } publicStudent(Stringname,intage){ super(); =name; this.age=age; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; }}2、編寫(xiě)一個(gè)類(lèi),類(lèi)中定義一個(gè)靜態(tài)方法,用于求兩個(gè)整數(shù)的和。請(qǐng)按照以下要求設(shè)計(jì)一個(gè)測(cè)試類(lèi)Demo01,并進(jìn)行測(cè)試。要求如下:1)Demo01類(lèi)中有一個(gè)靜態(tài)方法get(inta,intb)該方法用戶(hù)返回參數(shù)a、b兩個(gè)整數(shù)的和;2)在main()方法中調(diào)用get方法并輸出計(jì)算結(jié)果。publicclassDemo01{ publicstaticintgetSum(inta,intb){ returna+b; } publicstaticvoidmain(String[]args){ intresult=Demo01.getSum(2,3); System.out.println(result); }}第四章1、定義一個(gè)抽象類(lèi)Car,在該類(lèi)中包含一個(gè)抽象方法run()。分別定義一個(gè)Bike類(lèi)和Bus類(lèi)繼承自Car,在重寫(xiě)的run()方法中分別輸出一句話。定義測(cè)試類(lèi),調(diào)用Bike類(lèi)和Bus類(lèi)中的方法。abstractclassCar{ abstractvoidrun();}classBikeextendsCar{ voidrun(){ System.out.println("自行車(chē)在行駛"); } }classBusextendsCar{ voidrun(){ System.out.println("公交車(chē)在行駛"); } }publicclassDemo01{ publicstaticvoidmain(String[]args){ Bikebike=newBike(); bike.run(); Busbus=newBus(); bus.run(); }} 2、編寫(xiě)一個(gè)程序,模擬計(jì)算機(jī)的PCI插槽以與各種插卡。主板上的插槽就是計(jì)算機(jī)中的接口,它可以把顯卡、網(wǎng)卡、聲卡等都插在PCI插槽上。在計(jì)算機(jī)啟動(dòng)主板時(shí),這些插槽中的卡也隨之啟動(dòng);關(guān)機(jī)時(shí),這些卡也隨之停止工作。//PCI接口interfacePCI{ voidstart(); voidstop();}//顯卡classGraphicsimplementsPCI{ publicvoidstart(){ System.out.println("顯卡已開(kāi)啟"); } publicvoidstop(){ System.out.println("顯卡已停止"); }}//網(wǎng)卡classNetworkCardimplementsPCI{ publicvoidstart(){ System.out.println("網(wǎng)卡已開(kāi)啟"); } publicvoidstop(){ System.out.println("網(wǎng)卡已停止"); }}//聲卡classSoundCardimplementsPCI{ publicvoidstart(){ System.out.println("聲卡已開(kāi)啟"); } publicvoidstop(){ System.out.println("聲卡已停止"); }}//主板classMainBoard{ publicvoidPCICardStart(PCIp){ p.start(); } publicvoidPCICardStop(PCIp){ p.stop(); }}//電腦classComputer{ privatePCI[]pciArr=newPCI[4];//電腦上的PCI插槽 publicvoidadd(PCIusb){//向電腦上安裝一個(gè)PCI設(shè)備 for(inti=0;i<pciArr.length;i++){//循環(huán)遍歷所有插槽 if(pciArr[i]==null){//如果發(fā)現(xiàn)一個(gè)空的 pciArr[i]=usb;//將usb設(shè)備裝在這個(gè)插槽上 break;//裝上之后結(jié)束循環(huán) } } } publicvoidturnOn(){//電腦的開(kāi)機(jī)功能 for(inti=0;i<pciArr.length;i++){//循環(huán)遍歷所有插槽 if(pciArr[i]!=null){//如果發(fā)現(xiàn)有設(shè)備 pciArr[i].start();//將PCI設(shè)備啟動(dòng) } } System.out.println("電腦開(kāi)機(jī)成功"); } publicvoidturnOff(){//電腦的開(kāi)機(jī)功能 for(inti=0;i<pciArr.length;i++){//循環(huán)遍歷所有插槽 if(pciArr[i]!=null){//如果發(fā)現(xiàn)有設(shè)備 pciArr[i].stop();//將PCI設(shè)備啟動(dòng) } } System.out.println("電腦關(guān)機(jī)成功"); } publicstaticvoidmain(String[]args){ Computerc=newComputer(); c.add(newGraphics()); c.add(newNetworkCard()); c.add(newSoundCard()); c.turnOn(); c.turnOff(); }}第五章1、編寫(xiě)一個(gè)程序,獲取一個(gè)已知文件的擴(kuò)展名。publicclassDemo01{ publicstaticvoidmain(String[]args){ System.out.println(getExtname("Person.java")); } publicstaticStringgetExtname(String){ intindex=("."); Stringextname=(index+1); returnextname; }}2、編寫(xiě)一個(gè)程序,接收一個(gè)字符串,將字符串中每個(gè)單詞的首字母改為大寫(xiě)。publicclassDemo02{ publicstaticvoidmain(String[]args){ StringBuffersbn=newStringBuffer("hellowworldandhappynewyear"); StringBufferss=newStringBuffer(""); Strings=sbn.toString(); String[]sb=s.split(""); for(inti=0;i<sb.length;i++){ sb[i]=sb[i].substring(0,1).toUpperCase()+sb[i].substring(1); } for(inti=0;i<sb.length;i++){ ss.append(sb[i]); ss.append(""); } System.out.println(ss); }}第六章1、編寫(xiě)一個(gè)程序,向ArrayList集合中添加5個(gè)對(duì)象,然后使用迭代器輸出集合中的對(duì)象。publicclassDemo01{ publicstaticvoidmain(String[]args){ Listlist=newArrayList(); list.add("zhangsan"); list.add("lisi"); list.add("wangwu"); list.add("zhaoliu"); Iteratorit=list.iterator(); while(it.hasNext()){ Objectobject=(Object)it.next(); System.out.println(object); } }}2、編寫(xiě)一個(gè)程序,向Properties集合存入5個(gè)配置項(xiàng),并迭代出所有的配置項(xiàng)。publicclassDemo02{ publicstaticvoidmain(String[]args){ Propertiesprops=newProperties(); props.setProperty("username","zhangsan"); props.setProperty("password","123456"); props.setProperty("email",""); Enumeratione=pertyNames(); while(e.hasMoreElements()){ Stringname=(String)e.nextElement(); Stringvalue=props.getProperty(name); System.out.println(name+"="+value); } }}第七章編寫(xiě)一個(gè)程序,使用定義數(shù)組的方式將D盤(pán)中的程序拷貝到E盤(pán)中。publicclassDemo01{ publicstaticvoidmain(String[]args)throwsIOException{ //創(chuàng)建輸入流與源文件相關(guān)聯(lián) InputStreamin=new("D:\\jdk-7u60-windows-i586.exe"); //創(chuàng)建輸出流與目標(biāo)文件相關(guān)聯(lián) OutputStreamout=new("E:\\jdk-7u60-windows-i586.exe"); longstart=System.currentTimeMillis(); copyByBuffer(in,out); longend=System.currentTimeMillis(); System.out.println("耗時(shí):"+(end-start)+"毫秒");in.close();out.close(); } //定義byte數(shù)組作為緩沖區(qū)進(jìn)行拷貝 privatestaticvoidcopyByBuffer(InputStreamin,OutputStreamout)throwsIOException{ byte[]buffer=newbyte[1024]; intlen; while((len=in.read(buffer))!=-1){ out.write(buffer,0,len); } }}2、編寫(xiě)一個(gè)程序,遍歷出指定目錄下所有的.java文件,并將其絕對(duì)路徑存入一個(gè)list集合中輸出。publicclassDemo02{publicstaticvoidmain(String[]args){ //創(chuàng)建一個(gè)File對(duì)象封裝路徑d: =newFile("D:\\eclipseWorkspace\\JavaBasicWorkspace\\test\\src"); //創(chuàng)建一個(gè)List集合用于存放路徑 List<String>list=newArrayList<String>(); //調(diào)用方法 listAllJavaFiles(dir,list); //輸出 for(String:list) System.out.println(); } staticvoidlistAllJavaFiles(,List<String>list){ //獲得dir目錄中所有的子文件 File[]files=dir.listFiles(); //如果數(shù)組為null說(shuō)明dir是不可打開(kāi)的目錄或者不是目錄 if(){ return; } //遍歷數(shù)組獲得子文件 for(:files){ //判斷 if(()){ //說(shuō)明文件是目錄需要遞歸調(diào)用 listAllJavaFiles(file,list); }else{ //說(shuō)明是標(biāo)準(zhǔn)文件 //判斷是不是java文件如果是存入list if(().endsWith(".java")){ list.add(()); } } } } }第八章1、設(shè)計(jì)一個(gè)窗體,窗體中有一個(gè)按鈕,當(dāng)單擊按鈕時(shí),可以添加其它按鈕,并按數(shù)字依次出現(xiàn),當(dāng)單擊數(shù)字按鈕時(shí),被單擊按鈕消失,此窗體帶關(guān)閉功能。publicclassDemo01{ staticintnum=1; publicstaticvoidmain(String[]args){ //初始化一個(gè)frame Frameframe=newFrame("myframe"); //設(shè)置大小 frame.setSize(300,300); //設(shè)置位置 frame.setLocation(100,100); //設(shè)置布局管理 frame.setLayout(newFlowLayout()); //添加一個(gè)按鈕 Buttonbtn=newButton("按鈕"); frame.add(btn); frame.setVisible(true); //添加事件監(jiān)聽(tīng)器監(jiān)聽(tīng)窗口事件//通過(guò)繼承WindowAdapter(適配器)來(lái)實(shí)現(xiàn)WindowListener frame.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ e.getWindow().dispose(); } }); //為按鈕添加事件鼠標(biāo)事件事件源是按鈕 btn.addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ //鼠標(biāo)單擊了 //獲得事件源btn Buttonbtn=(Button)e.getComponent(); //獲得btn所在的容器frame Frameframe=(Frame)btn.getParent(); //添加一個(gè)新的btn ButtonnewBtn=newButton("按鈕"+num++); frame.add(newBtn); //刷新frame的顯示 frame.setVisible(true); //為newBtn添加事件 newBtn.addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ Buttonbtn=(Button)e.getComponent(); btn.getParent().remove(btn); } }); } }); }}2、編寫(xiě)一個(gè)小游戲:設(shè)計(jì)一窗體,窗體中上下有兩個(gè)名稱(chēng)為“你來(lái)點(diǎn)我啊!!!!!!!!!”的按鈕,當(dāng)鼠標(biāo)移動(dòng)到上面按鈕時(shí),上面按鈕消失,下面的顯示;移動(dòng)到下面時(shí),下面消失,上面的顯示。publicclassDemo02{ staticintnum=1; publicstaticvoidmain(String[]args){ //初始化一個(gè)frame finalFrameframe=newFrame("myframe"); //設(shè)置大小 frame.setSize(300,300); //設(shè)置位置 frame.setLocation(100,100); //添加一個(gè)按鈕 finalButtonbtn1=newButton("你來(lái)點(diǎn)我啊!!!!!!!!!"); frame.add(btn1,BorderLayout.NORTH); finalButtonbtn2=newButton("你來(lái)點(diǎn)我啊!!!!!!!!!"); frame.add(btn2,BorderLayout.SOUTH); btn2.setVisible(false); frame.setVisible(true); //添加事件監(jiān)聽(tīng)器,監(jiān)聽(tīng)窗口事件,//通過(guò)繼承WindowAdapter(適配器)來(lái)實(shí)現(xiàn)WindowListener frame.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ e.getWindow().dispose(); } }); btn1.addMouseListener(newMouseAdapter(){ publicvoidmouseEntered(MouseEvente){ btn1.setVisible(false); btn2.setVisible(true); frame.setVisible(true); } }); btn2.addMouseListener(newMouseAdapter(){ publicvoidmouseEntered(MouseEvente){ btn2.setVisible(false); btn1.setVisible(true); frame.setVisible(true); } }); }}第九章1、已知在數(shù)據(jù)庫(kù)jdbc中有一個(gè)名稱(chēng)為user的表,表中包含三個(gè)字段id,name,password。要求使用JDBCUtils工具類(lèi)編寫(xiě)一個(gè)程序,使程序執(zhí)行后,可以向user表中插入一條數(shù)據(jù)。(1)JDBCUtils的代碼如下:importjava.sql.*;/***工具類(lèi)*/publicclassJDBCUtils{ //加載驅(qū)動(dòng),并建立數(shù)據(jù)庫(kù)連接 publicstaticConnectiongetConnection()throwsSQLException, ClassNotFoundException{ Class.forName("com.mysql.jdbc.Driver"); Stringurl="jdbc:mysql://localhost:3306/jdbc"; Stringusername="root"; Stringpassword="itcast"; Connectionconn=DriverManager.getConnection(url,username,password); returnconn; } //關(guān)閉數(shù)據(jù)庫(kù)連接,釋放資源 publicstaticvoidrelease(Statementstmt,Connectionconn){ if(stmt!=null){ try{ stmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } stmt=null; } if(conn!=null){ try{ conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } conn=null; } } publicstaticvoidrelease(ResultSetrs,Statementstmt,Connectionconn){ if(rs!=null){ try{ rs.close(); }catch(SQLExceptione){ e.printStackTrace(); } rs=null; } release(stmt,conn); }}(2)實(shí)體類(lèi)User的代碼如下:publicclassUser{ privateintid; privateStringname; privateStringpassword; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; }}(3)UserDao的代碼如下:importjava.sql.*;publicclassUserDao{ //添加數(shù)據(jù) publicvoidaddUser(Useruser){ Connectionconn=null; Statementstmt=null; try{ //獲得數(shù)據(jù)的連接 conn=JDBCUtils.getConnection(); //獲得Statement對(duì)象 stmt=conn.createStatement(); //發(fā)送SQL語(yǔ)句 Stringsql="INSERTINTOuser(id,name,password)"+"VALUES(" +user.getId()+",'"+user.getName()+"','" +user.getPassword()+"')"; intnum=stmt.executeUpdate(sql); if(num>0){ System.out.println("插入數(shù)據(jù)成功!"); } }catch(Exceptione){ e.printStackTrace(); }finally{ JDBCUtils.release(stmt,conn); } }}(4)測(cè)試類(lèi)UserTest的代碼如下:publicclassUserTest{ publicstaticvoidmain(String[]args){ UserDaouserDao=newUserDao(); Useruser=newUser(); user.setId(1); user.setName("itcast"); user.setPassword("1234"); userDao.addUser(user); }}第十章1、編寫(xiě)一個(gè)程序,創(chuàng)建兩個(gè)線程,要求分別輸出26個(gè)字母。在輸出結(jié)果時(shí),要顯示是哪個(gè)線程輸出的字母。publicclassDemo01{ publicstaticvoidmain(String[]args){ Testt1=newTest("線程一"); Testt2=newTest("線程二"); t1.start(); t2.start(); } }classTestextendsThread{ privatecharch='a'; publicTest(Stringname){ setName(name); } publicvoidrun(){ chartemp; for(inti=0;i<26;i++){ temp=(char)(ch+i); System.out.println(this.getName()+":"+temp); } }}2、編寫(xiě)一個(gè)程序,使用Runnable接口的方式創(chuàng)建三個(gè)線程,分別輸出從0到10的數(shù),每個(gè)線程之間延遲500毫秒,要求輸出的結(jié)果如下所示:線程一:0,1,2,3,4,5,6,7,8,9,10線程三:0,1,2,3,4,5,6,7,8,9,10線程二:0,1,2,3,4,5,6,7,8,9,10classMyThreadimplementsRunnable{ Objectlock=newObject();//定義任意一個(gè)對(duì)象,用作同步代碼塊的鎖 publicvoidrun(){ synchronized(lock){//定義同步代碼塊 System.out.println(); try{ System.out.print(Thread.currentThread().getName()+":"); for(inti=0;i<=10;i++){ System.out.print(i); if(i!=10){ System.out.print(","); } } Thread.sleep(500);//經(jīng)過(guò)的線程休眠500毫秒 }catch(InterruptedExceptione){ e.printStackTrace(); } } }}publicclassDemo02{ publicstaticvoidmain(String[]args){ MyThreadmyThread=newMyThread(); newThread(myThread,"線程一").start(); newThread(myThread,"線程二").start(); newThread(myThread,"線程三").start(); }}

第十一章1、簡(jiǎn)述TCP/IP協(xié)議的層次結(jié)構(gòu)。TCP/IP協(xié)議的層次結(jié)構(gòu)比較簡(jiǎn)單,共分為四層,分別是鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。其中鏈路層也稱(chēng)為網(wǎng)絡(luò)接口層,該層負(fù)責(zé)監(jiān)視數(shù)據(jù)在主機(jī)和網(wǎng)絡(luò)之間的交換。網(wǎng)絡(luò)層也稱(chēng)網(wǎng)絡(luò)互聯(lián)層,是整個(gè)TCP/IP協(xié)議的核心,它主要用于將傳輸?shù)臄?shù)據(jù)進(jìn)行分組,將分組數(shù)據(jù)發(fā)送到目標(biāo)計(jì)算機(jī)或者網(wǎng)絡(luò)。傳輸層主要使網(wǎng)絡(luò)程序進(jìn)行通信,在進(jìn)行網(wǎng)絡(luò)通信時(shí),可以采用TCP協(xié)議,也可以采用UDP協(xié)議。應(yīng)用層主要負(fù)責(zé)應(yīng)用程序的協(xié)議,例如HTTP協(xié)議、FTP協(xié)議等。2、簡(jiǎn)述你對(duì)IP地址的認(rèn)識(shí)。要想使網(wǎng)絡(luò)中的計(jì)算機(jī)能夠進(jìn)行通信,必須為每臺(tái)計(jì)算機(jī)指定一個(gè)標(biāo)識(shí)號(hào),通過(guò)這個(gè)標(biāo)識(shí)號(hào)來(lái)指定接收數(shù)據(jù)的計(jì)算機(jī)或者發(fā)送數(shù)據(jù)的計(jì)算機(jī)。在TCP/IP協(xié)議中,這個(gè)標(biāo)識(shí)號(hào)就是IP地址,它可以唯一標(biāo)識(shí)一臺(tái)計(jì)算機(jī),目前,IP地址廣泛使用的版本是IPv4,它是由4個(gè)字節(jié)大小的二進(jìn)制數(shù)來(lái)表示,由于二進(jìn)制形式表示的IP地址非常不便記憶和處理,因此通常會(huì)將IP地址寫(xiě)成十進(jìn)制的形式,每個(gè)字節(jié)用一個(gè)十進(jìn)制數(shù)字(0-255)表示,數(shù)字間用符號(hào)“.”分開(kāi),如“”。1、編寫(xiě)一個(gè)程序,實(shí)現(xiàn)多線程的UDP網(wǎng)絡(luò)通信。要求如下:1)編寫(xiě)數(shù)據(jù)接收類(lèi)ReceiveThread,該類(lèi)實(shí)現(xiàn)了Runnable接口,重寫(xiě)run()方法實(shí)現(xiàn)不斷接受客戶(hù)端發(fā)送數(shù)據(jù)的功能。2)編寫(xiě)數(shù)據(jù)發(fā)送類(lèi)SendThread,該類(lèi)同樣實(shí)現(xiàn)了Runnable接口,重寫(xiě)run()方法實(shí)現(xiàn)通過(guò)鍵盤(pán)錄入數(shù)據(jù),將數(shù)據(jù)向接收端發(fā)送的功能。3)編寫(xiě)測(cè)試類(lèi)TestUDP,在main()方法中,同時(shí)啟動(dòng)接收端和發(fā)送端程序。(1)數(shù)據(jù)接收類(lèi)的代碼如下所示:importjava.io.IOException;import.DatagramPacket;import.DatagramSocket;publicclassReceiveThreadimplementsRunnable{ publicvoidrun(){ try{ //創(chuàng)建接收端Socket對(duì)象 DatagramSocketds=newDatagramSocket(10086); //創(chuàng)建數(shù)據(jù)包 while(true){ byte[]bys=newbyte[1024]; DatagramPacketdp=newDatagramPacket(bys,bys.length); //接收數(shù)據(jù) ds.receive(dp); //解析數(shù)據(jù) Stringip=dp.getAddress().getHostAddress(); Strings=newString(dp.getData(),0,dp.getLength()); System.out.println("接收端:從"+ip+"主機(jī)接收到的數(shù)據(jù)是:"+s); if("bye".equals(s)){ System.out.println("******聊天室關(guān)閉******"); ds.close(); break; } } }catch(IOExceptione){ e.printStackTrace(); } }}(2)數(shù)據(jù)發(fā)送類(lèi)的代碼如下所示:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;import.DatagramPacket;import.DatagramSocket;import.InetAddress;publicclassSendThreadimplementsRunnable{ publicvoidrun(){ try{ //創(chuàng)建發(fā)送端Socket對(duì)象 DatagramSocketds=newDatagramSocket(); //封裝鍵盤(pán)錄入 BufferedReaderbr=newBufferedReader(newInputStreamReader( System.in)); //創(chuàng)建數(shù)據(jù),并打包 Stringline=null; while((line=br.readLine())!=null){ byte[]bys=line.getBytes(); DatagramPacketdp=newDatagramPacket(bys,bys.length, InetAddress.getByName("localhost"),10086); ds.send(dp); if("bye".equals(line)){ //釋放資源 br.close(); ds.close(); break; } } //釋放資源 br.close(); ds.close(); }catch(IOExceptione){ e.printStackTrace(); } }}(3)測(cè)試類(lèi)的代碼如下所示:p

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論