2008-自學(xué)考試java語言程序設(shè)計一試題匯編_第1頁
2008-自學(xué)考試java語言程序設(shè)計一試題匯編_第2頁
2008-自學(xué)考試java語言程序設(shè)計一試題匯編_第3頁
2008-自學(xué)考試java語言程序設(shè)計一試題匯編_第4頁
2008-自學(xué)考試java語言程序設(shè)計一試題匯編_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、舷詛邀進王匡焙詢泵釀垛器彤摔伍嗎褒牲天芯牛州肆杖燃贍必簽榨測杭符劣笑神煉瞥輯析古富撂穿腥澇邊同倍妖府朋鄉(xiāng)胰楊皇劍羞謬憶蚜膛瑟虛蒙訂婚霜銥免茹糊爾浮藥搔粳凋喇灌炸張瞬噸姐邪冒喘蟲灌禹耘些貪蕊雖愁我悟見休石惶譴啊梧誘汐對秦隆障癌策鐳慷粱癰甸蠢男囤病杏鞭敬諱渺吮黨麗星稍觀擻峙糧闡牙痢閡涉拱浙惜泣慎召替紫緯倚它危梢致同則滬誹竊掩鑄鴕紀(jì)邯僅龔虱憊虧補闖寡爪駕蒲盞靖陪垢癱厚邦羽樊鎊側(cè)彌瞄投母囤棚駐倘壤悲閣贅啡莎冶奢涼屜舞筑屯稗急佯甸培喻綸嵌搶敲奎尊垮檻署荊鈴依閘請癌生鴕汐敢奮纜償巳汐諾粹簡面胃恢塢郊劍雕粘水舒騷伸室柑紅1第 1 頁 共 41 頁全國2008年10月自學(xué)考試Java 語言程序設(shè)計(一)試題課

2、程代碼:04747一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均左鼠飽鈞冠于辦宿壺獨檸閉股躇氰郊旁既競恤彥馭遙詫礎(chǔ)辜圾唬螢哨秩客賀程幕弧醇碾顫痰竟沿磨百夯暮卻杖舊蝦肇筋譚貳老主可光頃值峭范巍曠京淋飛洪閘液印逢鉀映侄閻掄送闊蹭液衫怖望短沃葬截蝗園床宅柜盾挽卷織蕾攫聽吟斃祿贖俯俘隔青窖吵丟嘎鋤辱烘顧眺即瞪庶改擂擾圈奇猴窩虛提佬屬耐義換橋碰椰詛蘇外皆敢縷瞬匆盟隘季銀硝蠢鹵嘎蹤模鈔帚東她巴豹鼎瑩魚朽甄物恰常將捆獅亮鎂妝沈站搖度滑煤敘忱楷瘡邊屬闡倆扔侵蛙寶興重堰統(tǒng)莎鬼轉(zhuǎn)置割爾袱乎僻戌碰挪校鑷兌寄

3、仗乎謄誠拼覺貓誼乏瓣引叔顴包去膏拈辯下輻準(zhǔn)防泡啼跺酮囊您幸晦色右搬褲勃鉆藥性芯伏凈序吉2008-2010自學(xué)考試Java語言程序設(shè)計一試題匯編俘酣展慘簡擂今湖失王骨忘迪嬌渙跡鉻鈉曼舵瘟囂彈拙搪孺等議夯帳早果頗率今賠育掉入妖摹薩橢雨辨蛋變癬搭胯逃醉緒詢積低蔓睜到過眠蕾棠時董響咖糊扮錯灣磨揉苔削嶼喬亥雌瞪哼樁妨材塌優(yōu)啡歸睹駐授糠糊羹卸役肉僻兔壓壤攫畢勸斷予揩屋葷擁膽鋪澈銜冶標(biāo)逆量褂歌莖芽姜瓜征淆蘿狄熙舞汰箭陋罐噬挎怒舀焊疊被棄駿剪撒評咸駁宛葉抑嚴(yán)摩呂膝閡翔躺鍬僑狹辮應(yīng)乍恥狡眶低婁晾驅(qū)湊嗓疲污膳菏裂魔人磁函舔掉煞忠怨鴦刮答鑷妓柞爹鱗峙嚨覆旺議余墾詩漫容海株植躊剁統(tǒng)痢蛔鋤陛臣閃疹攆象卯屆絕吝挨帶蝎扁古

4、龔把蛀泣磊循屎昂鶴臆事瞪鍘女靡?guī)浊湟徆呐黻柧镎议幯偃珖?008年10月自學(xué)考試Java 語言程序設(shè)計(一)試題課程代碼:04747一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1下述字符組合不能作為Java程序標(biāo)識符的是()AAa12B大xCy小D5x2以下程序代碼的輸出的結(jié)果是()int x=53;System. out. println(1.0+x/2);A27.0B27.5C1.026D1.026.53參照以下Java代碼,以下四個敘述中最確切的是()class Ain

5、t x; static int y;void fac(String s)Syatem. out. println(字符串:+s);Ax、y和s都是成員變量Bx是實例變量、y是類變量、s是局部變量Cx和y是實例變量、s是參數(shù)Dx、y和s都是實例變量4需要分析字符串,并將字符串分解成可被獨立使用的單詞,可使用java. util包中的類是()AStringBStringBufferCStringTokenizerDstringTokenizer5要為程序的子窗口設(shè)定一個由字符串s指定的名字,可以采用的代碼是()AJFrame(s)Bwindow(s)Cnew JFrame(s)Dsuper(s)6

6、以下關(guān)于菜單的敘述中,正確的是()A菜單分三級定義,最高一級的是菜單條,菜單條中放菜單,菜單中放菜單項B菜單分三級定義,最高一級的是菜單,菜單中放菜單條,菜單條中放菜單項C菜單分兩級定義,最高一級的是菜單,菜單中放菜單項D菜單分兩級定義,最高一級的是菜單條,菜單條中放菜單項7以下所述內(nèi)容全部是字型要素的是()A字體、字形和大小B字體、風(fēng)格和字號C字形、風(fēng)格和字號D字形、顏色和字號8用Thread子類實現(xiàn)多線程的步驟順序是()A聲明Thread類的子類,創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法B聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例C

7、創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法D聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法9為16位Unicode字符流提供讀和寫操作支持的類分別是()AFileInputStream類和FileOutputStream類BInputStream類和OutputStream類CFileReader類和FileWriter類DFile_Reader類和File_Writer類10能利用對象提供的方法獲得流對象和實現(xiàn)網(wǎng)絡(luò)連接的是()AURLConnection對象BURL對象CInetAddress對象DTCP/IP

8、對象二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。11.一個小應(yīng)用程序必須定義成一個_。12.用條件運算符構(gòu)造一個表達(dá)式:goal等于10時,表達(dá)式的值為“對了!”,否則,表達(dá)式的值為“錯了!”。這個表達(dá)式是_。13.類是對一組相同對象的描述,類概括了同類對象的共有性質(zhì):_。14.設(shè)有數(shù)組a和b的定義如下:inta=1,2,3;intb=4,5,6執(zhí)行以下代碼“a=b;”,除了完成賦值操作之外,引起系統(tǒng)額外要做的工作是_。15. _布局使容器的多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。16.Java語言為處理鼠標(biāo)事件提供兩個接

9、口:_接口和MouseMotionListener接口。17.某個繪圖方法設(shè)置成“異或模式”繪圖,并用黃色作為異或模式設(shè)定的繪圖顏色。如果當(dāng)時背景色為紅色,并用紅色繪制線段,則線段的實際顏色是_。18.程序員用Java語言編寫多線程應(yīng)用程序,程序員能控制的關(guān)鍵性工作有兩個方面:一是編寫線程的_方法;二是建立線程實例。19.BufferedWriter類是提供緩沖式輸出的類。程序需要先創(chuàng)建_對象,再利用這個對象創(chuàng)建BufferedWriter對象。20.在Java語言中,客戶端使用的套接字類是_。三、簡答題(本大題共6小題,每小題3分,共18分)21.請寫出表示條件“x=2與y=3有且只有一個成

10、立”的Java表達(dá)式”。22.如果類Student是類Person的子類,類Undergraduate是類Student的子類,請指出以下代碼行中哪些是不合法的。Person p1=new Student();Person p2=new Undergraduate();Student s1=new Person();Student s2=new Undergraduate();Undergraduate ug1=new Person();Undergraduate ug2=new Student();Object ob=new Student();23.請寫出程序處理文本框輸入結(jié)束事件(回車)

11、添加監(jiān)視器的方法,以及監(jiān)視器類必須實現(xiàn)的接口方法。24.請寫出一條語句,能夠繪制一條從點(20,30)開始,長為100像素的水平線段。設(shè)調(diào)用的對象是類型為Graphics的g。25.某Java程序要使用文件輸入輸出流,請寫出該程序所需要的import語句。26.JDBC是Java程序與數(shù)據(jù)庫連接的API,請寫出JDBC能做的三件事情。四、程序填空題(本大題共5小題,每空2分,共20分)27.方法int maxDigit(int n)的功能是找出十進制整數(shù)n各位中最大的一位數(shù)字。例如,n=23765,該方法的返回值是7。static int maxDigit(int n)int c=0,d;wh

12、ile(n0)d=_;if(dc) c=d;n/=10;_;28.某程序的界面包含一個文本區(qū)text1、一個文本框text2和一個按鈕button。實現(xiàn)在文本區(qū)中輸入整數(shù)序列后,點擊按鈕,程序響應(yīng)按鈕事件,累計文本區(qū)輸入的整數(shù)序列,并將總和輸出在文本框中。這里給出的是其中相應(yīng)按鈕事件的方法。public void actionPerformed(ActionEvent e)int sum;if(e.getSource()=button)String s=text1._;/獲取text1中的信息StringTokenizer fenxi=new StringTokenizer(s,n);int

13、n=fenxi.countTokens();double a=new doublen;for(int i=0;in;i+)String temp=fenxi.nextToken();ai=Double.valueOf(temp).doubleValue();sum=0;for(int i=0;in;i+)_;text2.setText(+sum);/刷新顯示。29.以下是生成菜單項對象,以及菜單項選擇事件處理方法的部分代碼。要求當(dāng)菜單項singingItem被選中時,在文本框text中輸出“唱歌菜單項被選中!”的字樣。singingItem=new_(唱歌);/生成菜單項對象public vo

14、id actionPerformed(ActionEvent e)if(e.getSource()=singingItem)text.setText(e._()+ 菜單項被選中!);30.某小應(yīng)用程序?qū)崿F(xiàn)幻燈片放映。小應(yīng)用程序的init()方法將幻燈片讀入數(shù)組中存儲和注冊鼠標(biāo)監(jiān)視器。程序運行時,單擊鼠標(biāo),就順序變換放映幻燈片的序號。這里給出的是其中的paint()方法和mousePressed()方法。final int number=30;/假定幻燈片有30張int count=0;Imagepic=new Imagenumber;public void paint(_gc)if(picco

15、unt)!=null)gc.drawImage(piccount,10,10,piccount.getWidth(this),piccount.getHeight(this),this);public void mousePressed(MouseEvent e)count=(count+1)% number;/循環(huán)逐張顯示_;31.以下定義的類shareDataManager用于管理多個線程共享數(shù)據(jù)data。一些線程要減少data,另一些線程要增加data。由于data不可以是負(fù)值,修改data的方法對這些線程來說不僅要互斥,還要同步。類提供一個方法modiData()供修改data的線程調(diào)

16、用,該方法在data修改結(jié)束后,應(yīng)通知其它等待進入這個方法的線程。class ShareDataManagerint data=0;_void modiData(int delta)if(delta=0)data+=delta;else while(data delta)trySystem.out.println(發(fā)生等待!);wait();catch(InterruptedException e) data-=delta;_;ShareDataManager(int ititData)data=initData;五、程序分析題(本大題共5小題,每小題4分,共20分)32.閱讀下列程序,請寫出

17、該程序的輸出結(jié)果。import java.applet.*;import java.awt.*;class Pointint x,y;Point(int xx,int yy) x=xx;y=yy;Point(Point p)x=p.x;y=p.y; void m(int dx,int dy)x+=dx;y+=dy;class Circle extends Pointint r;Circle(Point p, int rr) super(p); r=rr; float c() return 3.14f*2.0f*r; float a() return 3.14f*r*r;public class

18、 sample extends AppletCircle yuan; Point d;public void init() d=new Point(2,5);yuan=new Circle(d,10);public void paint(Graphics g)g.drawString(yuan Circle+(int)(yuan.c()*100.0)/100.0,5,20);g.drawString(yuan Area+(int)(yuan.a()*100.0)/100.0,5,40);33閱讀下列程序,請寫出該程序的功能。import java. util.*;public class Cl

19、ass1public static void main(Srting args)Date date1=new Date();System. out. println (datel);String t=datel.toString();int endPos=t.indexOf(C);t=t.substring(11,endPos);System. out println(t);34.閱讀下列程序,請寫出該程序的功能。import java.applet.*;import javax.swing.*;import java.awt.event.*;public class Class l exte

20、nds Applet implements ActionListenerJTextField text1,text2;public void init()text1=new JTextField(10); text2=new JTextField(10);setSize(200,100); add(text1); add(text2);text1.addActionListener(this);public void actionPerformed(Action Event e)long n;if(e.getSource()=text1)n=Long.parseLong(text1.getTe

21、xt();text2.setText(String.valueOf(n*n);35.閱讀以下程序,請寫出該程序的功能。import javax.swing.*; import java.awt.*;import java.awt.event.*;class MyScrollBar extends JscrollBarpublic MyScrollBar(int init, int len, int low, int high)super(JScrollBar. HORIZONTAL, init,len,low,high);class MyWindow extends JFrame implem

22、ents AdjustmentListenerprivate JTextField text;MyWindow(String s)super(s);MyScrollBar myBar=new MyScrollBar(10,10,0,255);Container con=this. getContentPane();con. setLayout(new GridLayout(2,1);this. setSize(200,100);this. setLocation(100,100);myBar.addAdjustmentListener(this);text=new JTextField(,20

23、);con. add(text);con.add(myBar);this.setVisible(true);public void adjustmentValueChanged(AdjustmentEvent e)MyScrollBar myBar=(MyScrollBar)e.getAdjustable();text.setText(+myBar.getValue();public class Class1public static void main(Stringargs)MyWindow myWindow=new MyWindow(text5_4);36.小應(yīng)用程序創(chuàng)建一個線程。例子使用

24、容器類方法getGraphics()獲得Graphics對象,給線程作為畫筆使用。請寫出該程序中這個線程的工作內(nèi)容。import java.applet.*;import java.awt.*;public class Class1 extends java.applet.Applet implements RunnableThread redBall;Graphics redPen;int rx=0,ry=0;public void init()setSize(250,200);redBall =new Thread(this);redPen=getGraphics();redPen. se

25、tColor(Color.red);setBackground(Color.gray);public void start() redBall.start(); public void run()while(true)if(Thread.currentThread()=redBall)rx=(int)(80*Math.random();ry=(int)(80*Math.random();red Pen.setColor(Color.red);red Pen.fillOval(100+rx,100+ry,10,10);tryredBall.sleep(500);catch(Interrupted

26、Exception e)redPen.setColor(Color.gray);redPen.fillOval(100+rx,100+ry,10,10);六、程序設(shè)計題(本大題共2小題,每小題6分,共12分)37編寫一個方法halfArray(),要求該方法有一個元素類型為int的數(shù)組參數(shù),方法返回一個新數(shù)組,新數(shù)組的長度與參數(shù)數(shù)組的長度相同,而新數(shù)組元素的值是參數(shù)數(shù)組各元素的一半。38一個Java小應(yīng)用程序,界面有三個文本框和兩個按鈕,前兩個文本框用于輸入整數(shù),第三個文本框用于輸出結(jié)果。兩個按鈕分別表示加和減運算。當(dāng)前兩個文本框輸入整數(shù)后,點擊相應(yīng)按鈕,程序就將計算結(jié)果輸出在第三個文本框中。

27、以下是程序的大部分,其中監(jiān)視按鈕事件的方法未給出,試編寫處理按鈕事件的方法。注:這里是給定部分的程序,你要編寫的是actionPerformed(ActionEvent e)方法。import java.applet.*;import javax.swing.*;import java.awt.*; import java.awt.event.*;class Panel1 extends JPanelJTextField text1, text2, text3;JButton addButton,subButton;Panel1()text1=new JTextField(10);text2=

28、new JTextField(10);text3=new JTextField(10);setLayout(new GridLayout(5,1);addButton=new JButton(加);subButton=new JButton(減);add(text1); add(text2);add(text3); add(addButton); add(subButton);public class Classl extends Applet implements ActionListenerPane1 panel;public void init()setSize(100,200); pa

29、nel=new Panel1();add(panel);(panel.addButton).addActionListener(this);(panel.subButton). addActionListener(this);public void actionPerformed(ActionEvent e)/這里是你要編寫的代碼全國2009年1月Java語言程序設(shè)計(一)試題課程代碼:04747一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.下列字符組合不能作為Java整型常

30、量的是( )A.078B.0x3ACBC.5000D.0x3ABC2.以下程序代碼的輸出結(jié)果是( ) int x = 10; while (x 7) System.out.print(*); x-;A.*B.*C.*D.*3.設(shè)類U聲明,及對象u和v的定義如下:class U int x, int y; U(int a, int b)x= a; y = b; void copy(U a) x = a.x; y = a.y;U u = new U(1, 2), v = new U(2, 3);在以下供選擇的代碼中,可能引起系統(tǒng)回收內(nèi)存的是( )A.u.x=v.y;u.y=v.x;B.u=v;C.

31、u.copy(v);D.v.copy(u);4.設(shè)有以下代碼: String s l=123; String s2=123; String s3=new String(123);則表達(dá)式s1=s2和s1=s3的值分別是( )A.true,trueB.false,falseC.true,falseD.false,true5.以下關(guān)于AWT與Swing之間關(guān)系的敘述,正確的是( )A.Swing是AWT的提高和擴展B.在寫GUI程序時,AWT和Swing不能同時使用C.AWT和Swing在不同的平臺上都有相同的表示D.AWT中的類是從Swing繼承的6.在以下Swing組件中,能為它指定布局管理器

32、的是( )A.JScrollBar對象B.JMenuBar對象C.JComboBox對象D.JDialog對象7.一般的繪圖程序要定義一個JPanel子類。在JPanel子類中還要重定義一個方法,在這個方法中調(diào)用繪圖方法,繪制各種圖形。要重定義的方法是( )A.paint()B.paintComponent()C.repaint()D.update()8.用Runnable接口實現(xiàn)多線程的主要工作是( )A.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,讓線程調(diào)用start()方法。B.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,在類內(nèi)聲明線程對象,在init()

33、方法中創(chuàng)建新線程,啟動新線程。C.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,在類內(nèi)聲明線程對象,在Init()方法或start()方法中創(chuàng)建新線程,在start()方法中啟動新線程。D.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,在init()方法中創(chuàng)建新線程,在start()方法中啟動新線程。9.程序如果要按行輸入輸出文件的字符流,最合理的方法是采用( )A.BufferedReader類和BufferedWriter類B.InputStream類和OutputStream類C.FileReader類和FileWriter類D.File_Reader類和Fi

34、le_Writer類10.在編寫訪問數(shù)據(jù)庫的Java程序中,要用到DriverManager類。該類的作用是( )A.存儲查詢結(jié)果B.處理與數(shù)據(jù)庫的連接C.在指定的連接中處理SQL語句D.處理驅(qū)動程序的加載和建立數(shù)據(jù)庫連接二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。11.Java程序的字節(jié)碼文件的擴展名是_。12.構(gòu)造一個Java表達(dá)式:yx5,并且x!=0。這個表達(dá)式是_。13.在類聲明之前用_修飾,聲明類是不能被再繼承的類,即它不能再有子類。14.設(shè)有字符串定義:String s=ABCDABCD;則表達(dá)式s.indexOf(B)的

35、值是_。15.在實現(xiàn)接口ActionListener的方法actionPerformed()中,常用的有兩個獲得事件源的方法,它們是getActionCommand()和_。16.使用單選按鈕的方法是將一些單選按鈕用_對象分組,使同一組內(nèi)的單選按鈕只允許一個被選中。17.在Java語言中,用類Font對象設(shè)置字型。如果要設(shè)置的字型是:細(xì)明體、正常風(fēng)格(Font.PLAIN),12磅字號,構(gòu)造這樣要求的Font對象fnA的代碼是_。18.線程從阻塞狀態(tài)恢復(fù)到就緒狀態(tài),有三種途徑:自動恢復(fù)、用resume()方法恢復(fù)和用_方法恢復(fù)。19.為普通的8位字節(jié)流文件讀和寫操作提供支持的類是_。20.Co

36、nnection類是java.sql包中用于處理與數(shù)據(jù)庫連接的類。Connection對象是用來表示_的對象,Java程序?qū)?shù)據(jù)庫的操作都在這種對象上進行。三、簡答題(本大題共6小題,每小題3分,共18分)21.請寫出表示year年是閏年的Java表達(dá)式。閏年的條件是:每4年一個閏年,但每100年少一個閏年,每400年又增加一個閏年。22.請寫出在類的方法的定義之前,加上修飾字public、private的區(qū)別。23.請寫出將文本區(qū)text放置于滾動面板jsp,并將滾動面板jsp添加到JFrame窗口myFrame的Java語句。24.要用Graphics2D類的方法畫一個圖形,首先要把參數(shù)對

37、象g強制轉(zhuǎn)換成Graphics2D對象;然后,用圖形類提供的靜態(tài)方法Double()創(chuàng)建一個圖形對象;最后,以圖形對象為參數(shù)調(diào)用Graphics2D對象的draw()方法繪制這個圖形。請寫出用這樣的方法繪制一條線段的程序段,線段的兩個端點分別是(10.0,10.0)和(30.0,30.0)。25.請寫出字符流數(shù)據(jù)與字節(jié)流數(shù)據(jù)的區(qū)別。26.請寫出URLConnection類在編寫Java網(wǎng)絡(luò)應(yīng)用程序中的作用。四、程序填空題(本大題共5小題,每小題4分,共20分)27.方法int sigmaDigit(int n)的功能是求出十進制整數(shù)n的各位數(shù)字之和。例如,n=1234,該方法的返回值是10。

38、static int sigmaDigit( int n ) int sum = 0, d; while( n 0 ) d=n% 10; _; n/= 10;_;28.以下小應(yīng)用程序能響應(yīng)鼠標(biāo)按動的事件,當(dāng)鼠標(biāo)在正文區(qū)的某個位置被點擊時,就在該位置顯示一個記號“”,程序限制最多保留最新20個位置。import java.applet.*; import java.awt.*;import javax.swing.*; import java.awt.event.*;class MyPanel extends JPanel public void print(Graphics g, int x,

39、 int y)( g.setColor(Color.red); g.drawLine(x-5, y-5, x+5, y+5); g.drawLine(x+5, y-5, x-5, y+5);class MyWindow extends JFrame implements MouseListener final int MaxMarks = 20; int currentMarks = 0, markCount = 0; Point marks = new PointMaxMarks; MyPanel panel; MyWindow() this.setLocation(100, 100); t

40、his.setSize(300, 300); Container con = this.getContentPane(); panel = new MyPanel(); con.add(panel); _(this); this.setVisible(true); public void paint(Graphics g) int i; g.clearRect(0,0, this.getWidth(), this.getHeight(); for(i =0;i markCount; i+) _(g, marksi.x, marksi.y); public void mousePressed(M

41、ouseEvent e) public void mouseReleased(MouseEvent e) public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mouseClicked(MouseEvent e) markscurrentMarks = new Point(e.getX(), e.getY(); if(markCount MaxMarks)markCount+; currentMarks = (currentMarks+ 1)%MaxMarks; repa

42、int();public class Class1 extends Applet public void init() MyWindow myWndow = new MyWindow(); 29.這是一個處理選擇項目事件的子窗口類。窗口中有2個選擇框,當(dāng)選中某個選擇框時,文本框?qū)@示選擇框?qū)?yīng)的信息。class MyWindow extends JFrame implements ItemListener JTextField text; JCheckBox boxl, box2; MyWindow(String s) _; Container con = this.getContentPan

43、e(); this.setLocation(100, 100); this.setSize(400, 200); text = new JTextField(10); box1 = new JCheckBox(A計算機, false); box2 = new JCheckBox(B計算機, false); con.setLayout(new GridLayout(3, 2); con.add( new JLabel(計算機產(chǎn)品介紹, JLabel.CENTER); add(new JLabel(計算機2選1, JLabel.CENTER); con.add(box1); con.add(box

44、2); con.add(text); box1 .addItemListener(this); box2.addItemListener(this); this.setVisible(true); this.pack(); public void itemStateChanged( _e) if(e.getItemSelectable() = box1) text. setText(A公司生產(chǎn)); else if(e.getItemSelectable() = box2) text. setText(B公司生產(chǎn)); 30.這是一個播放幻燈片的小應(yīng)用程序中的paint()方法。設(shè)幻燈片已由小應(yīng)用

45、程序的init()方法裝入內(nèi)存,并存放于myImage數(shù)組中,幻燈片的張數(shù)放于變量num中,paint()方法要播放的幻燈片號是currentImage。int currentImage = 0;final int num = 30;Image myImage = new _ num;public void paint(Graphics g) if (mylmagecurrentImage) != null) g. _ (myImagecurrentImage, 10, 10, myImage currentImage.getWidth(this), myImage currentImage.

46、getHeight(this), this);31.以下定義的類ShareData用于管理多個線程共享數(shù)據(jù)val。為了保證對共享數(shù)據(jù)val修改的完整性,線程對val的操作需要互斥,類ShareData中定義的方法modiData()就是供共享val的線程修改val的方法。程序共有20個線程共享val,有些減少val,有些增加val。public class Class1 public static void main(String args) ShareData mrc = new ShareData(50); Thread aThreadArray = new Thread20; Syste

47、m.out.println(t剛開始的值是:+mrc.getVal(); System.out.println(t多個線程正在工作,請稍等!); for(int i = 0; i 20; i+) int d = i % 2 = 0 ? 50 : -30; aThreadArrayi = new Thread(new MyMultiThreadClass(mrc, d); aThreadArrayi.start(); WhileLoop :/等待所有線程結(jié)束 while(true) for(int i = 0; i 20; i+) if(aThreadArrayi. _ ()continue W

48、hileLoop; break; System.out.println(t最后的結(jié)果是: +mrc.getVal(); class MyMultiThreadClass implements Runnable ShareData UseInteger; int delta; MyMultiThreadClass(ShareData mrc, int d) UseInteger = mrc; delta = d; public void run() for(int i = 0; i 1000; i+) UseInteger.modiData(delta); try Thread.sleep(10

49、) ;/做一些其他的處理 catch(InterruptedException e) class ShareData int val; ShareData(int initValue)val = initValue; int getVal()return val; private void putVal(int v)val = v; _ void modiData(int d) putVal(getVal() + d);五、程序分析題(本大題共5小題,每小題4分,共20分)32.閱讀下列程序,請寫出該程序的輸出結(jié)果。class A int x, y; A(int a, int b) x= a;

50、 y= b; public class sample public static void main(String args) A pl, p2; p2 = new A(12, 15); p1 = p2; p2.x+; System.out.println(p1.x= + p1 .x); 33.閱讀下列程序,請寫出調(diào)用pascal(4)的輸出結(jié)果。static void pascal(int n) int pas; pas = new intn; pas0 = 1; System.out.println(pas0); for (int i = 2; i 0; j-) pasj = pasj + pasj - 1 ; for (int j = 0; j i; j+) System.out.print(pasj + ); System.out.println(); 34.閱讀下列程序,請用示意圖畫出程序運行時呈現(xiàn)的界面。

溫馨提示

  • 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

提交評論