JAVA自考真題題型匯總_第1頁
JAVA自考真題題型匯總_第2頁
JAVA自考真題題型匯總_第3頁
JAVA自考真題題型匯總_第4頁
JAVA自考真題題型匯總_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

自考真題題型匯總

一、單項選擇題(本大題共10小題,每小題1分,共10分)

全國2008年10月

1.下述字符組合不能作為Java程序標識符的是()

A.Aal2B.大xC.y小D.5x

2.以下程序代碼的輸出的結果是()

intx=53;

System.out.println(1.0+x/2);

A.27.0B.27.5C.1.026D.1.026.5

3.參照以下Java代碼,以卜.四個敘述中最確切的是()

classA{

intx;staticinty;

voidfac(Strings){Syatem.out.println("字符串:"+s);}

}

A.x、y和s都是成員變量B.x是實例變量、y是類變量、s是局部變量

C.x和y是實例變量、s是參數D.x、y和s都是實例變量

4.需要分析字符串,并將字符串分解成可被獨立使用的單詞,可使用java,util包中的類是()

A.StringB.StringBufferC.StringTokenizerD.stringTokenizer

5.要為程序的子窗口設定一個由字符串s指定的名字,可以采用的代碼是()

A.JFrame(s)B.window(s)C.newJFrame(s)D.super(s)

6.以下關于菜單的敘述中,正確的是()

A.菜單分三級定義,最高一級的是菜單條,菜單條中放菜單,菜單中放菜單項

B.菜單分三級定義,最高一級的是菜單,菜單中放菜單條,菜單條中放菜單項

C.菜單分兩級定義,最高一級的是菜單,菜單中放菜單項

D.菜單分兩級定義,最高一級的是菜單條,菜單條中放菜單項

7.以下所述內容全部是字型要素的是()

A.字體、字形和大小B.字體、風格和字號

C.字形、風格和字號D.字形、顏色和字號

8.用Thread子類實現多線程的步驟順序是()

A.聲明Thread類的子類,創(chuàng)建Thread子類的實例,讓線程調用start。方法

B.聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例

C.創(chuàng)建Thread子類的實例,讓線程調用start。方法

D.聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例,讓線程調用

start。方法

9.為16位Unicode字符流提供讀和寫操作支持的類分別是()

A.FilelnputStream類和FileOutputStream類B.InputStream類和OutputStream類

C.FileReader類和FileWriter類D.File_Reader類和File_Writer類

10.能利用對象提供的方法獲得流對象和實現網絡連接的是()

A.URLConnection對象B.URL對象C.InetAddress對象D.TCP/IP對象

全國2009年1月

1.下列字符組合不能作為Java整型常量的是()

A.078B.0x3ACBC.5000D.0x3ABC

2.以下程序代碼的輸出結果是()

intx=10;

while(x>7)

{System.out.print("*M);x-;}

A**B***C*D****

3.設類U聲明,及對象u和v的定義如下:

classU{

intx,inty;

U(inta,intb){x=a;y=b;}

voidcopy(Ua){x=a.x;y=a.y;}

}

Uu=newU(l,2),v=newU(2,3);

在以下供選擇的代碼中,可能引起系統(tǒng)回收內存的是()

A.u.x=v.y;u.y=v.x;B.u=v;C.u.copy(v);D.v.copy(u);

4.設有以下代碼:

Stringsl="123";Strings2="123":Strings3=newString("123");

則表達式sl=s2和sl==s3的值分別是()

A.true,trueB.false,falseC.true,falseD.false,true

5.以下關于AWT與Swing之間關系的敘述,正確的是()

A.Swing是AWT的提圖和擴展

B.在寫GUI程序時,AWT和Swing不能同時使用

C.AWT和Swing在不同的平臺上都有相同的表示

D.AWT中的類是從Swing繼承的

6.在以下Swing組件中,能為它指定布局管理器的是()

A.JScroIlBar對象B.JMenuBar對象C.JComboBox對象D.JDialog對象

7.一般的繪圖程序要定義一個JPanel子類。在JPanel子類中還要重定義一個方法,在這個方法中

調用繪圖方法,繪制各種圖形。要重定義的方法是()

A.paint()B,paintComponent()C.repaint()D.update()

8.用Runnable接口實現多線程的主要工作是()

A.聲明實現Runnable接口的類,在類內實現run()方法,讓線程調用start。方法。

B.聲明實現Runnable接口的類,在類內實現run()方法,在類內聲明線程對象,在init()方法中創(chuàng)

建新線程,啟動新線程。

C.聲明實現Runnable接口的類,在類內實現run()方法,在類內聲明線程對象,在Init()方法或start()

方法中創(chuàng)建新線程,在start。方法中啟動新線程。

D.聲明實現Runnable接口的類,在類內實現run()方法,在init()方法中創(chuàng)建新線程,在start。方

法中啟動新線程。

9.程序如果要按行輸入輸出文件的字符流,最合理的方法是采用()

A.BufferedReadcr類和BuffercdWriter類B.InputStream類和Outputstream類

C.FileReader類和FileWriter類D.File_Reader類和File_Writer類

10.在編寫訪問數據庫的Java程序中,要用到DriverManager類。該類的作用是()

A.存儲查詢結果B.處理與數據庫的連接

C.在指定的連接中處理SQL語句D.處理驅動程序的加載和建立數據庫連接

全國2009年10月

1.下面供選字符序列中,不屬于Java語言關鍵字的是()

A.gotoB.nullC.falseD.native

2.以下程序代碼的輸出結果是()

intx=73;System.out.println(x?l);

A.36B.36.5C.37D.true

3.Java語言中,在類定義時用final關鍵字修飾,是指這個類()

A.不能被繼承B.在子類的方法中不能被調用

C.能被別的程序自由調用D.不能被子類的方法覆蓋

4.以下是關于字符串運算的代碼,執(zhí)行該代碼段的輸出結果是()

Strings="0123456789",si,s2;

sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);

A.0122345B.234567892345C.012234D.23456789234

5.以下是關于FlowLayout布局組件排列順序的敘述,正確的是()

A.從上到下排列B.從左到右排列C.從下到上排列D.從右到左排列

6.程序執(zhí)行方法showOpenDialog(),能打開“打開文件對話框”,如果該方法的返回值是

JFileChooser.APPROVE_OPTION,則用戶執(zhí)行的動作是()

A.對話框非正常關閉B.按下“打開/保存”按鈕

C.按下“撤銷”按鈕D.重新輸入了一個文件名

7.設已經有Graphics2D對象g2d,Rectangle2D對象r,繪制對象r的代碼是()

A.g2d.draw(r)B.g2d.drawRect(r)C.r.draw()D.r.drawRect()

8.在以下供選擇的方法中,能讓線程從阻塞狀態(tài)恢復到就緒狀態(tài)的方法是()

A.start()B.init()C.resume()D.run()

9.在以下供選擇的方法中,不能用于文件隨機訪問的方法是()

A.readChar()B.readLong()C.readinteger()D.writeChars()

10.某程序利用網址參數創(chuàng)建URL對象url,接著希望利用對象url獲得URLConnection對象,

則這個url對象要調用的方法是()

A.connection()B.URLConnection()C.getConnection()D.openConnection()

全國2010年1月

1.在下述字符串中,不屬于Java語言關鍵字的是()

A.floatB.newC.javaD.return

2.Java語言中數值數據的類型能自動轉換,按照從左到右的轉換次序為()

A.byte-*int-short->long-*float-*double

B.bytefshortfint-?long-float-double

C.byte-short-int-*float-long-double

D.short-bytefintflong-*float-double

3.在以下供選擇的概念中,不屬于面向對象語言概念的是()

A.消息B.模塊C.繼承D.多態(tài)性

4.在下述Java語言語句中,錯誤的創(chuàng)建數組的方法是()

A.intintArray[];intArray=newint[5];B.intintArray[]=newint[5];

C.int[]intArray={1,2,3,4,5);D.intintAnay[5]={1,2,3,4.5};

5.在Swing中,它的子類能用來創(chuàng)建框架窗口的類是()

A.JWindowB.JFrameC.JDialogD.JApplet

6.MouseListener接口不能處理的鼠標事件是()

A.按下鼠標左鍵B.點擊鼠標右鍵C.鼠標進入D.鼠標移動

7.以下不屬于文字字型要素的是()

A.顏色B.字體C.風格D.字號

8.在以下四個供選的整數中,能作為線程最高優(yōu)先級的整數是()

A.0B.1C.10D.11

9.Java語言可以用javax.swing包中的類JFileChooser來實現打開和保存文件對話框。用戶通過

文件對話框不可能獲得的信息是()

A.文件名稱B.文件路徑C.文件內容D.文件對象

10.在編寫訪問數據庫的Java程序時,Connection對象的作用是()

A.用來表示與數據庫的連接B.存儲查詢結果

C.在指定的連接中處理SQL語句D.建立新數據庫連接

全國2010年10月

1.以下是關于Java語言關鍵字的敘述,其中正確的是()

A.關鍵字可以用來描述類的成員類型,但是不能描述普通變量

B.關鍵字由字母(包括英文字母、下劃線字符、美元字符、文字字符)和數字組成

C.關鍵字不可以用作變量、方法、類或標號的標識符

D.break和main都是Java語言的關鍵字

2.執(zhí)行以下代碼,輸出結果是()

intx=5>y=7.u=9>v=6;

System.out.println(x>y?x+2:u>v?u-3:v+2);

A.8B.6C.7D.true

3Java語言中,只限子類或者同一包中的類的方法能訪問的訪問權限是()

A.publicB.privateC.protectedD.<無修飾>

4.設有數組定義int口[]x={{L2},{3,4,5},{6},{}};,則x.length的值為()

A.3B.4C.6D.7

5.在以下Swing的類中,屬于容器的是()

A.JAppletB.JButtonC.JTextAreaD.JMenu

6.在以下供選擇的方法中,屬于接口MouseMotionListener的方法是()

A.mouseReleased()B.mouseEntered()C.mouseExited()D.mouseMoved()

7.小程序要播放音頻文件,可使用類()

A.AudioB.JAudioC.AudioClipD.JAudioClip

8.以下是關于線程的敘述,正確的是()

A.多線程的使用可以提高設備的平行工作能力,但是使系統(tǒng)管理變得復雜

B.同一個進程下的線程都有自己的狀態(tài)、專用數據段和獨立的內存資源

C.線程是能獨立運行的程序D.進程的執(zhí)行效率比線程的執(zhí)行效率高

9.在Java的類庫中,包含實現輸入/輸出操作的包是()

A.java.utilB.java.ioC.java.appletD.java.awt

10.在編寫訪問數據庫的Java程序時,ResultSet對象的作用是()

A.建立新數據庫連接B.用來表示與數據庫的連接

C.在指定的連接中處理SQL語句D.存儲查詢結果

全國2011年1月

1.在Java語言中,int類型數據的長度是()

A.1個字節(jié)B.2個字節(jié)C.4個字節(jié)D.8個字節(jié)

2.在switch語句中,switch后面括號內的表達式的類型不能是()

A.byteB.longC.charD.int

3.以下關于接口的敘述中,正確的是()

A.所有的接口都是公共接口,可被所有的類和接口使用

B.一個類通過使用關鍵字interface聲明自己使用一個或多個接口

C.接口中所有的變量都默認為publicabstract屬性

D.接口體中不提供方法的實現

4.以下代碼段的輸出結果是()

Strings="JavaWorld";System.out.print(s.indexOf("a",4));

A.-lB.OC.1D.4

5.以下不屬于AWT庫中定義的類是()

A.ComponentB.ContainerC.ImagesD.Graphics

6.鼠標單擊列表中某個選項事件的相關接口是()

A.ListActionListenerB.ListSelectionListener

C.ActionListenerD.SelectionListener

7.Java語言規(guī)定,程序繪圖區(qū)域的坐標原點位于整個區(qū)域的()

A.左上角B.右上角C.左下角D.右下角

8.以下關于線程互斥和同步的敘述中,正確的是()

A.多線程互斥使用各自資源的程序段,在操作系統(tǒng)中稱為臨界段

B.臨界段的作用是使某線程能夠使用其它線程的資源

C.可以使用notify。方法通知等待線程結束等待

D.線程的互斥和同步可以很好地解決死鎖問題

9.當用戶關閉文件對話框時,有可能返回的整數常量是()

A.JFileChooser.CLOSE_OPTIONB.JFileChooser.APPROVE_OPTION

C.JFileChooser.SAVEOPTIOND.JFileChooser.OPENOPTlON

10.獲取InetAddress對象的域名所用到的方法是()

A.getByName()B.getHostAddress()C.getLocalHost()D.getHostName()

二、填空題(本大題共10小題,每小題2分,共20分)

全國2008年10月

11.一個小應用程序必須定義成一個。

12.用條件運算符構造一個表達式:goal等于10時,表達式的值為“對了!”,否則,表達式的值

為“錯了!這個表達式是。

13.類是對一組相同對象的描述,類概括了同類對象的共有性質:。

14.設有數組a和b的定義如下:

int[]a={l,2,3};int[]b={4,5,6}

執(zhí)行以下代碼“a=b;”,除了完成賦值操作之外,引起系統(tǒng)額外要做的工作是。

15.布局使容器的多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。

16.Java語言為處理鼠標事件提供兩個接口:接口和MouseMotionListener接口。

17.某個繪圖方法設置成“異或模式”繪圖,并用黃色作為異或模式設定的繪圖顏色。如果當時背景

色為紅色,并用紅色繪制線段,則線段的實際顏色是。

18.程序員用Java語言編寫多線程應用程序,程序員能控制的關鍵性工作有兩個方面:一是編寫

線程的方法;二是建立線程實例。

19.BufferedWriter類是提供緩沖式輸出的類。程序需要先創(chuàng)建對象,再利用這個對象創(chuàng)

建BufferedWriter對象。

20.在Java語言中,客戶端使用的套接字類是。

全國2009年1月

11.Java程序的字節(jié)碼文件的擴展名是o

12,構造一個Java表達式:y/x>5.并且x!=0。這個表達式是。

13.在類聲明之前用修飾,聲明類是不能被再繼承的類,即它不能再有子類。

14.設有字符串定義:

Strings="ABCDABCD";

則表達式s.indexOf("B")的值是?

15.在實現接口ActionListener的方法actionPerformed()中,常用的有兩個獲得事件源的方法,它們

是getActionCommand。和。

16.使用單選按鈕的方法是將一些單選按鈕用對象分組,使同一組內的單選按鈕只允許

一個被選中。

17.在Java語言中,用類Font對象設置字型。如果要設置的字型是:細明體、正常風格(Font.PLAIN),

12磅字號,構造這樣要求的Font對象fnA的代碼是。

18.線程從阻塞狀態(tài)恢復到就緒狀態(tài),有三種途徑:自動恢復、用resume。方法恢復和用

方法恢復。

19.為普通的8位字節(jié)流文件讀和寫操作提供支持的類是o

20.Connection類是java.sql包中用于處理與數據庫連接的類。Connection對象是用來表示

的對象,Java程序對數據庫的操作都在這種對象上進行。

全國2009年10月

11.一個應用程序必須在某個類中定義的方法是o

12.import語句的格式是。

13.在面向對象語言中,對象之間的交互通過實現。

14.設有兩個字符串對象strl和str2,則表達式“strl=str2”的意義是判別字符串strl和str2。

15.一個基于Swing的應用程序可能在任何平臺上都會有相同的。

16.處理鍵盤事件的Java程序,要實現的接口是。

17.Java語言約定,坐標原點位于繪圖區(qū)域的。

18.Java程序中,在臨界段中使用方法,使執(zhí)行該方法的線程等待。

19.Bu的redWriter類對象能按行輸入文件的內容,按行輸入的方法是。

20.在包中有InetAddress類的定義,Java程序中的InetAddress類對象存儲的內容是

全國2010年1月

11.Java的編譯程序先將Java源程序翻譯成與機器無關的。

12.表達式“23&18”的值是。

13.如果類A某個成員變量的類型是類B,則類A和類B之間是關系。

14.Java語言提供了兩個用于處理字符串的類,它們是o

15.某程序用代碼“JTextFieldtext=newJTextField();”創(chuàng)建了一個文本框,并對這個文本框注冊

了監(jiān)視器,則在監(jiān)視器處理方法actionPerformed(ActionEvente)中,判定是在這個文本框上發(fā)生事

件的條件表達式是o

16.一個水平滾動條對象的初始值是50,滑塊的寬是10個像素,表示的范圍是[0,250](,創(chuàng)建

這樣的滾動條對象時,提供的5個參數依次是。

17.要在JComponent子類的組件中繪圖,應重寫方法。

18.當線程使用完臨界段后,為了使等待的線程恢復工作,需要調用的方法是o

19.某程序想為一個long型整數文件構造隨機讀寫對象,支持這個要求的類是。

20.設已知服務器的1P地址和端口號,要創(chuàng)建一個套接字對象,支持這個要求的類是o

全國2010年10月

11.Java語言采用多種機制來保證可移植性,其中最主要的是。

12.程序包聲明的格式是。

13.當聯編推遲至運行時間實現時,該聯編過程稱為o

14.使用默認字節(jié)字符對應表,將字符串轉化為字節(jié)數組的方法是。

15.在Swing中,帶有滾動條的面板的類名是o

16.組合框。ComboBox)是的組合。

17.在某個組件中繪圖,一般應該為這個組件所屬的子類重寫方法。

18.多線程互斥使用的程序段,在操作系統(tǒng)中稱為臨界段。

19.在Java語言中,文件隨機訪問可以利用類實現。

2O.Java程序可以用純Java的驅動程序,實現與數據庫連接。

全國2011年1月

11.Java源文件的擴展名是。

12.表達式-4?1的十進制值是o

13.在定義成員變量時,用關鍵字修飾的是類變量。

14.布爾類型數組元素的默認初值是.

15.在Swing中,面板有兩種,--種是JPaneL另一種是。

16.對話框的默認布局是。

17.Java語言的繪圖模式有兩種,它們是正常模式和o

18.當線程處于新建狀態(tài)后,調用了start。方法,該線程就處于狀態(tài)。

19.如果要按行輸入輸出文件,需采用輸入輸出方式。

2O.Java程序與數據庫連接的API被稱為。

三、簡答題(本大題共6小題,每小題3分,共18分)

全國2008年10月

21.請寫出表示條件“x=2與y=3有且只有一個成立”的Java表達式”。

22.如果類Student是類Person的子類,類Undergraduate是類Student的子類,請指出以下代碼行

中哪些是不合法的。

Personpl=newStudent();

Personp2=newUndergraduate();

Studentsl=newPerson();

Students2=newUndergraduate();

Undergraduateugl=newPerson();

Undergraduateug2=newStudent();

Objectob=newStudent();

23.請寫出程序處理文本框輸入結束事件(回車)添加監(jiān)視器的方法,以及監(jiān)視器類必須實現的接

口方法。

24.請寫出一條語句,能夠繪制一條從點(20,30)開始,長為100像素的水平線段。設調用的對

象是類型為Graphics的g。

25.某Java程序要使用文件輸入輸出流,請寫出該程序所需要的import語句。

26.JDBC是Java程序與數據庫連接的API,請寫出JDBC能做的三件事情。

全國2009年1月

21.請寫出表示year年是閏年的Java表達式。閏年的條件是:每4年一個閏年,但每100年

少一個閏年,每400年又增加一個閏年。

22.請寫出在類的方法的定義之前,加上修飾字public、private的區(qū)別。

23.請寫出將文本區(qū)text放置于滾動面板jsp,并將滾動面板jsp添加到JFrame窗口myFrame

的Java語句。

24.要用Graphics2D類的方法畫一個圖形,首先要把參數對象g強制轉換成Graphics2D對象;

然后,用圖形類提供的靜態(tài)方法Double。創(chuàng)建一個圖形對象;最后,以圖形對象為參數調用

Graphics2D對象的draw。方法繪制這個圖形。請寫出用這樣的方法繪制一條線段的程序段,

線段的兩個端點分別是(10.0,10.0)和(30.0,30.0)?

25.請寫出字符流數據與字節(jié)流數據的區(qū)別。

26.請寫出URLConnection類在編寫Java網絡應用程序中的作用。

全國2009年10月

21.請寫出實現計算y=|x|的if語句。

22.以下代碼定義了一個類,請指出其中三條不合法的代碼行(行號參見注釋)。

classTest22{//I

floatu;staticfloatv;//2

staticvoidsetUV(booleanf){//3

u=facl(f);//4

v=fac2(!f);}//5

staticfloatfacl(booleanf){returnf?u:v;}//6

floatfac2(booleanf){returnf?v:u;}//7

}//8

23.在java.awt.event中,用來檢測并對事件做出反應的模型涉及三種對象。請寫出這三種對象。

24.寫出設置Font對象fh的Java語句,要求Courier字體,BOLD風格,18磅字號,設調用對

象的類型為Graphics的go

25.請寫出字符流數據與字節(jié)流數據的區(qū)別。

26.當Client程序和Server程序需要通信時,可以用Socket類建立套接字連接,請寫出雙方實現

通信的兩種方式。

全國2010年1月

21.請寫出一段if語句,判斷一個整數n是否為偶數。如果是偶數,輸出“Yes.”;否則,輸出“No.

22.請寫出接口定義的一般形式。

23.請寫出Java語言編寫事件處理程序的兩種主要方案。

24.設已經有Graphics2D對象g2d,請用Java語句繪制一個矩形rect,其左上角坐標是(20,30),

寬是120,高是30。

25.打開文件對話框時,還可以設置篩選條件,即指定文件的類型。請寫出FileFilter類預設的兩

個方法。

26.請寫出URLConnection類提供的三個常用方法。

全國2010年10月

21.請使用for循環(huán)語句計算S=l+L+』+...+_L的值。

2310

22.請寫出Applet類中init()方法的功能。

23.請寫出空布局安置組件的兩個步驟。

24.在Swing中,對話框有幾種?并請寫出它們的主要區(qū)別。

25.請寫出用Runnable接口實現多線程的主要工作。

26.請寫出用InetAddress類,獲取網址為“”的IP地址的Java語句。

全國2011年1月

21.請寫?個if語句,判斷整數n是否同時滿足“被3除余2,被7除余1”的條件,滿足時輸

出“0K”,否則輸出"N0”。

22.請寫HI在面向對象系統(tǒng)中,類和對象的關系。

23.請寫出JFrame,Frame以及Window這三個類的繼承關系(按照從父類到子類順序排列)。

24.請寫出java,applet.AudioClip控制聲音播放的三個方法。

25.請寫出在使用FileFilter類設置篩選條件時,方法accept。以及getDescription()的

作用。

26.請寫出Java程序實現數據庫更新可以使用的三種對象。

四、程序填空題(本大題共5小題,每空2分,共20分)

全國2008年10月

27.方法intmaxDigit(intn)的功能是找出十進制整數n各位中最大的一位數字。例如,n=23765,

該方法的返回值是7。

staticintmaxDigit(intn){

intc=O,d;

while(n>0){

d=,

if(d>c)c=d;

n/=10;

J

)

28.某程序的界面包含一個文本區(qū)textl、一個文本框text2和一個按鈕button。實現在文本區(qū)中輸

入整數序列后,點擊按鈕,程序響應按鈕事件,累計文本區(qū)輸入的整數序列,并將總和輸出在文

本框中。這里給出的是其中相應按鈕事件的方法。

publicvoidactionPerformed(ActionEvente){

intsum;

i尤e.getsource()=button){

StringsHextl.,/嵌取text1中的信息

StringTokenizerfenxi=newStringTokenizer(s,11?,\n");

intn=fenxi.countTokensQ;

doublea[]=newdouble[n];

for(inti=0;i<n;i++)(

Stringtemp=fenxi.nextToken(),

a[i]=Double.value0f(temp).double\&lue();

}

sum=0,

forinti=0;i<n;i++){

)

text2.setText(""+sum),〃刷新顯示.

)

)

29.以下是生成菜單項對象,以及菜單項選擇事件處理方法的部分代碼。要求當菜單項singingitem

被選中時,在文本框text中輸出“唱歌菜單項被選中!”的字樣。

singingltem=new("唱歌");〃生成菜單項對象

publicvoidactionPerformed(ActionEvente){

if(e.getsource()=singingltem)

text.setText(e.0+H菜單項被選中!");

)

30.某小應用程序實現幻燈片放映。小應用程序的init()方法將幻燈片讀入數組中存儲和注冊鼠標

監(jiān)視器。程序運行時,單擊鼠標,就順序變換放映幻燈片的序號。這里給出的是其中的paint。方

法和mousePressed()方法。

finalintnumber=30;/假定幻燈片有30張

intcount=0;

Image[]pic=newImage[numbetj;

publicvoidpaint(gc){

if((pic[count])!=null)

gc.drawlmage(pic[count],10,10,pic[count].getWidth(this),

pic[count].getHeight(this),this);

}

publicvoidmousePressed(MouseEvente){

count=(count+1)%number;//循環(huán)逐張顯示

)

31.以下定義的類shareDataManager用于管理多個線程共享數據data。一些線程要減少data,另,

些線程要增加data。由于data不可以是負值,修改data的方法對這些線程來說不僅要互斥,還要

同步。類提供一個方法modiData()供修改data的線程調用,該方法在data修改結束后,應通知其

它等待進入這個方法的線程。

classShareDataManager{

inidata=O;

voidmodiData(intdelta){

if(delta>=0){

data+=delta;

)dse(

while(data<delta)(

try{System.outprintln("發(fā)生等待!11);

)catch(InierruptedExceptione){}

)

data-=delta;

)

)

ShareDataManager(intititData){data=initData;}

)

全國2009年1月

27.方法intsigmaDigit(intn)的功能是求出十進制整數n的各位數字之和。例如,n=1234,該

方法的返回值是10o

staticintsigmaDigit(intn)

{intsum=0,d;

while(n>0){

d=n%10;

n/=10;

28.以下小應用程序能響應鼠標按動的事件,當鼠標在正文區(qū)的某個位置被點擊時,就在該位

置顯示一個記號“X”,程序限制最多保留最新20個位置。

importjava.applct.*;importjava.awt.*;

importjavax.swing.*;importjava.awt.event.*;

classMyPanelextendsJPanel{

publicvoidprint(Graphicsg,intx,inty)(

g.setColor(Color.red);

g.drawLine(x-5,y-5,x+5,y+5);

g.drawLine(x+5,y-5,x-5,y+5);

})

classMyWindowextendsJFrameimplementsMouseListener{

finalintMaxMarks=20;

intcurrentMarks=0,markCount=0;

Pointmarks[]=newPoint[MaxMarks];

MyPanelpanel;

MyWindow(){

this.setLocation(100,100);

this.setSize(300,300);

Containercon=this.getContentPane();

panel=newMyPanel();con.add(panel);

________(this);

this.setVisible(true);

}

publicvoidpaint(Graphicsg){

inti;

g.clearRect(0,0,this.getWidth(),this.getHeight());

fbr(i=0;i<markCount;i++){

(g,marks[i].x,marks[i].y);

})

publicvoidmousePressed(MouseEvente){}

publicvoidmouseReleased(MouseEvente){}

publicvoidmouseEntered(MouseEvente){}

publicvoidmouseExited(MouseEvente){}

publicvoidmouseClicked(MouseEvente){

marks[currentMarks]=newPoint(e.getX(),e.getY());

if(markCount<MaxMarks)markCount++;

currentMarks=(currentMarks+l)%MaxMarks;

repaintQ;

}}

publicclassClassiextendsApplet{

publicvoidinit(){

MyWindowmyWndow=newMyWindow();

}}

29.這是,?個處理選擇項目事件的子窗口類。窗口中有2個選擇框,當選中某個選擇框時,文

本框將顯示選擇框對應的信息。

classMyWindowextendsJFrameimplementsItemListener{

JTextFieldtext;

JCheckBoxboxl,box2;

MyWindow(Strings){

Containercon=this.getContentPane();

this.setLocation(100,100);this.setSize(400,200);

text=newJTextField(lO);

boxl=newJCheckBox(nA計算機”,false);

box2=newJCheckBox(nB計算機”,false);

con.setLayout(newGridLayout(3,2));

con.add(newJLabel(”計算機產品介紹”,JLabeLCENTER));

add(newJLabel(”計算機2選1”,JLabel.CENTER));

con.add(box1);con.add(box2);con.add(text);

boxl.addltemListener(this);

box2.addItemListener(this);

this.setVisible(true);this.pack();

publicvoiditemStateChanged(e){

if(e.getItemSelectable()==boxl){

text.setText(nA公司生產”);

}elseif(e.getItemSelectable()==box2){

text.setText(nB公司生產)

}}}

30.這是一個播放幻燈片的小應用程序中的paint()方法。設幻燈片已由小應用程序的init()方法

裝入內存,并存放于mylmage數組中,幻燈片的張數放于變量num中,paint。方法要播放的

幻燈片號是currentimageo

intcurrentimage=0;

finalintnum=30;

Image[]mylmage=new[num];

publicvoidpaint(Graphicsg){

if((mylmage[currentlmage])!=null)

g.(mylmage[currentlmage],10,10,

mylmage[currentimage].getWidth(this),

mylmage[currcntlmage].getHeight(this),this);

)

31.以下定義的類ShareData用于管理多個線程共享數據valo為了保證對共享數據val修改的

完整性,線程對val的操作需要互斥,類ShareData中定義的方法modiData()就是供共享val

的線程修改val的方法。程序共有20個線程共享val,有些減少vaL有些增加val。

publicclassClassi{

publicstaticvoidmain(Stringargs[]){

ShareDatamrc=newShareData(50);

Thread[]aThreadArray=newThread[20];

System.out.println(n\t剛開始的值是:”+mrc.getVal());

System.out.println(”\t多個線程正在工作正稍等!)

fbr(inti=0;i<20;i++){

intd=i%2=0?50:-30;

aThreadArray[i]=newThread(newMyMultiThreadClass(mrc,d));

aThreadArray[i].start();

WhileLoop://等待所有線程結束

while(true){

for(inti=0;i<20;i++)

if(aThreadArray[i].())continueWhileLoop;

break;

}

System.out.println(,,\t最后的結果是:M+mrc.getValO);

})

classMyMultiThreadClassimplementsRunnable{

ShareDataUseinteger;intdelta;

MyMultiThreadClass(ShareDatamrc,intd){

Useinteger=mrc;delta=d;

)

publicvoidrun(){

for(inti=0;i<1000;i++){

Uselnteger.modiData(dclta);

try{Thread.sleep(lO);//做一些其他的處理

}catch(InterruptedExceptione){}

}}}

classShareData{

intval;

ShareData(intinitValue){val=initValue;}

intgetVal(){returnval;}

privatevoidputVal(intv){val=v;}

voidmodiData(intd){

putVal(getVal()+d);

全國2009年10月

27.方法intsigmaEvenNum(int[]a)的功能是求一知數組中偶數的個數。

staticintsigmaEvenNum(int[]a){

ints=0;

for(inti=0;;i++){

if()s++;

)

returns;

}

28.某小應用程序窗口包含有文本區(qū)dispArea,以及一個帶文字“追加”的按鈕。當點擊這個按鈕

時,程序彈出一個輸入信息的對話框,并將對話框中輸入的內容追加到文本區(qū)中。以下是其中相

應“追加”按鈕事件的方法。

publicvoidactionPerformed(ActionEvente){

if(e..equals(“追加")){

Stringresult=(String)JOptionPane.showInputDialog(null,”請輸入信息”,

”輸入對話框”,JOptionPane.PLAIN_MESSAGE,null,null,null);

dispArea.(result+””);

}

}

29.以下程序段是選擇項目事件處理程序的樣例,?個由3個單選按鈕組成的選擇組被定義為?

個面板子類Panel,當某個按鈕被選中時,按鈕監(jiān)視程序在類MyWindow的一個文本框中輸出某

個按鈕被選中的字樣。以卜.是類Panel的定義。

classPanelextendsJPanelimplementsItemListener{

staticJRadioButtonbox[];

ButtonGroupg;

Panel(StringradioNameList[]){

box=newJRadioButton[radioNameList.length];

setLayout(newGridLayout(1,radioNameList.length));

g=newButtonGroup();

for(inti=0;i<radioNameList.length;i++){

box[i]=newJRadioButton(,false);

g.add(box[i]);add(box[i]);box[i].addItemListener(this);

)

)

publicvoiditemStateChanged(ItemEvente){

for(inti=0;i<box.length;i-H-){

if(box[i].){

MyWindovv.text.setText(box[i].getLabel()+”被選中!");

30.用getlmage()方法和drawlmage()方法能加載和顯示圖像。以下程序加載的是seattie.jpg

文件,并假定該文件與包含這個小應用程序的HTML文件在同一個目錄下。

importjava.awt.*;importjava.applet.*;

publicclassSimplelmageLoadextendsApplet{

Imageimg;

publicvoidinit(){

img=getlmage(,"seattle.jpgn);

)

publicvoidpaint(Graphicsg){

g.drawlmage(img,0,0,);

}}

31.以下程序段定義的類ShareDataManager用于管理多個線程共享數據data。為了對data的取、

存和修改操作保持完整,多線程在data上的操作有互斥要求;另外,限制線程對data的修改不能

讓data為負數,所以多線程在data上的操作還有同步要求。為此,程序為管理data上的操作定

義成類,以

溫馨提示

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

評論

0/150

提交評論