午夜大胆裸体a级人体片,无码人妻久久一区二区三区免费,午夜伦理在线观看一区二区三区,无码日韩人妻av一区二区三区,日韩一区二区三免费高清

>

2012年01月自學(xué)考試04747《Java語(yǔ)言程序設(shè)計(jì)(一)》試題

來(lái)源 : 湖北自考學(xué)院 更新時(shí)間 : 2019-08-13 瀏覽次數(shù) : 798

導(dǎo)讀:提供2012年1月自學(xué)考試Java語(yǔ)言程序設(shè)計(jì)(一)試題及 答案 【文字打印版】文檔免費(fèi)下載,摘要:全國(guó)2012年1月高等教育自學(xué)考試Java語(yǔ)言程序設(shè)計(jì)(一)試題及答案課程代碼:04747一、單項(xiàng)選擇題(本大題共10小題,每小題1分,共l0分)1.下面供選字符序列中,不屬于...Java語(yǔ)言關(guān)鍵字的是(C)A.innerB.throwC

全國(guó)2012年1月高等教育自學(xué)考試

Java 語(yǔ)言程序設(shè)計(jì)(一)試題及答案

課程代碼:04747

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

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

A.inner B.throw C.false D.throws

2.表達(dá)式“-1>>>1”的十進(jìn)制值是( B )

A.-2 B.231-1 C.-(231-1) D.232-1

3.Java語(yǔ)言中,在類定義時(shí)用final關(guān)鍵字修飾,是指這個(gè)類( D )

A.子類必須實(shí)現(xiàn)父類未實(shí)現(xiàn)的方法 B.沒(méi)有具體實(shí)現(xiàn)代碼

C.必須要有實(shí)例 D.不能被繼承

4.表達(dá)式 "java程序設(shè)計(jì)".1ength() 的值是( C )

A. 0 B.12 C. 8 D.13

5.以下關(guān)于BorderLayout布局的敘述中,不正確...的是( D )

A.把容器內(nèi)的空間劃分成5個(gè)區(qū)域 B.加入組件應(yīng)該指明要放入的區(qū)域

C.是框架窗口的默認(rèn)布局 D.一個(gè)位置可直接放多個(gè)組件

6.利用文件對(duì)話框打開或保存文件,在打開文件對(duì)話框之前,可用FileFilter類設(shè)置篩選條件,其所用的 兩個(gè)方法是( B )

A.accept()和getSelectedFile() B.accept()和getDescription()

C.accept()和setDescription() D.setDescription()和getDescription()

7.設(shè)已經(jīng)有Graphics2D對(duì)象g2d,RoundRectangle2D對(duì)象rRect,繪制對(duì)象rRect的代碼是( A )

A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect)

C.rRect.draw() D.rRect.drawRoundRect()

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

A.臨界段是線程互斥使用資源的程序段 B.臨界段能使線程使用其它線程的資源

C.互斥和同步能很好地解決死鎖問(wèn)題 D.可用notify()方法讓等待線程結(jié)束等待

9.在編寫訪問(wèn)數(shù)據(jù)庫(kù)的Java程序時(shí),Connection對(duì)象的作用是( C )

A.存儲(chǔ)查詢結(jié)果 B.在指定的連接中處理SQL語(yǔ)句

C.用來(lái)表示與數(shù)據(jù)庫(kù)的連接 D.用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)的連接

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

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

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

11.能在瀏覽器上執(zhí)行的Java程序被稱為_____小應(yīng)用程序Applet____。

12.如果子類A隱藏了超類B的成員變量x,而類A的某個(gè)方法f()要引用類B的x,則引用類B的x的 引用代碼可以寫成_____super:x_____。

13.接口有與類相似的基本形式,它有常量定義和方法定義,但沒(méi)有____方法的實(shí)現(xiàn)代碼________。

14.設(shè)u和v是類A的兩個(gè)對(duì)象,則邏輯表達(dá)式“u==v”的意義是______兩對(duì)象的方法和屬性相同______。

15.要獲得對(duì)象的字符串表示,調(diào)用的方法是___toString()______。

16.注冊(cè)鼠標(biāo)點(diǎn)擊事件監(jiān)視器的方法是_____addMouseListener()______。

17.在異或模式下繪圖時(shí),實(shí)際繪制的顏色是由當(dāng)前正要繪制的顏色、原先繪制的顏色,以及_____異或 模式設(shè)定的顏色______作特定的運(yùn)算確定的。

18.多線程程序設(shè)計(jì)中,讓執(zhí)行臨界段程序時(shí)等待的線程結(jié)束等待,通常使用的方法有resume()、notify() 或者_(dá)____ notifyAll()____。

19.創(chuàng)建的流既可以隨機(jī)輸出,也可以隨機(jī)輸入的類是____RandomAccessFile_____。

20.Java程序中使用套接字方法實(shí)現(xiàn)C/S模式時(shí),在Client端支持網(wǎng)絡(luò)底層通訊的類是_____Socket_____。

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

21.請(qǐng)寫出以下程序段的執(zhí)行結(jié)果。

int c=0,d,n=3758;

while(n>0){ if((d=n%l0)>c) c=d;n/10;}

System.out.println("結(jié)果="+c);

這題的循環(huán)變量n無(wú)改變循環(huán)無(wú)法終止,可能有誤,找不到試題的掃描文件,沒(méi)做。

22.什么是方法重載,如何正確區(qū)分重載?

方法重載是指,一個(gè)類中可以有多個(gè)方法具有相同的名字和類型,但這些方法的參數(shù)必須不同,或者是 參數(shù)個(gè)數(shù)不同,或者是參數(shù)類型不同。

23.請(qǐng)寫出定義一個(gè)包含2個(gè)子數(shù)組的二維整型數(shù)組對(duì)象aArr的代碼,其中第一個(gè)子數(shù)組有5個(gè)元素,第 二個(gè)子數(shù)組有3個(gè)元素。

int aArr[][] = new int[2][];

aArr[0] = new int[5];

aArr[1] = new int[3];

24.請(qǐng)寫出創(chuàng)建一個(gè)JPanel對(duì)象p,并為對(duì)象p設(shè)定GridLayout布局的代碼。

JPanel p = new JPanel();

p.setLayout(new GridLayout);

25.由于創(chuàng)建輸出流對(duì)象時(shí),可能會(huì)出現(xiàn)IOException異常,所以創(chuàng)建輸出流對(duì)象的代碼必須出現(xiàn)在

try-catch語(yǔ)句結(jié)構(gòu)中。請(qǐng)寫出為當(dāng)前目錄下的myFile.dat文件創(chuàng)建緩沖輸出流對(duì)象outs的代碼。

try

{

FileWriter writefile = new FileWriter(“myFile.dat”);

BufferedWriter outs = new BufferedWriter(writefile);

}

catch(IOExceptio e) { }

26.請(qǐng)寫出已知數(shù)據(jù)庫(kù)url、用戶名uName和密碼pWord,通過(guò)驅(qū)動(dòng)程序管理器(DriverManager)的方法 getConnection()建立連接con的代碼,可能產(chǎn)生的異常是SQLException。

try

{

con = DriverManager. getConnection(url, uName, pWord);

}

catch(SQLException e)

{

e.printStackTrace(); return null;

}

return con;

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

27.方法int tenDigNumlnArray(int []a,int d)的功能是統(tǒng)計(jì)數(shù)組中十位數(shù)是d的整數(shù)的個(gè)數(shù)。

提示:對(duì)于一個(gè)整數(shù)n,運(yùn)算n/10的作用是求得去掉n的個(gè)位數(shù)后的整數(shù),運(yùn)算n%10的作用是求得n

的個(gè)位數(shù)。

static int tenDigNumlnArray(int []a,int d){

int c=0;

for(int i=0;___i

if(___a[i]/10 == d___) c++;

}

return c;

}

28.某小應(yīng)用程序的類實(shí)現(xiàn)了接口ActionListener,在其窗口有一個(gè)文本區(qū)對(duì)象text和一個(gè)標(biāo)上文字“輸入 一個(gè)整數(shù)”的按鈕對(duì)象,并正確為該按鈕對(duì)象注冊(cè)了監(jiān)視器。按鈕處理程序要實(shí)現(xiàn)的功能是當(dāng)點(diǎn)擊這個(gè)按 鈕時(shí),程序彈出一個(gè)輸入信息的對(duì)話框,輸入一個(gè)整數(shù)n,程序接受n后,將2至n的所有偶數(shù)輸出在

文本區(qū)text中。以下是其中處理按鈕事件的方法。

public void actionPerformed(ActionEvent e){

if(e.___getActionCommand____.equals("輸入一個(gè)整數(shù)")){

String res=(String) JOptionPane.showInputDialog(null, "輸入一個(gè)正整數(shù)",

"輸入對(duì)話框",JOptionPane.PLAIN_MESSAGE,null,null,null);

n=Integer.parseInt(res);

text.setText("");.

for(int k=2;k <= n;k+=2)

text.___setText(k+" ")______;

}

}

29.一個(gè)示意選擇框選擇的類CheckBoxWin,類的構(gòu)造方法根據(jù)給定的選擇項(xiàng)目表構(gòu)造一組選擇框,這組 選擇框允許多選,當(dāng)這組選擇框中的某個(gè)選擇項(xiàng)的選擇狀態(tài)有改變(從選中變成未選中,或從未選中變成 選中)時(shí),選擇框的監(jiān)視程序在一個(gè)文本區(qū)中輸出那個(gè)狀態(tài)有改變的選擇項(xiàng)目。以下是類CheckBoxWin 的定義。

class CheckBoxWin extends JFrame implements ItemListener{

JPanel p=new JPanel();

JTextArea text;

String[]nameList;

JCheckBox boxArray[];

CheckBoxWin(String[]sp){

Container con=getContentPane();

con.setBackground(Color.BLUE);

con.setLayout(new FlowLayout());

p.setSize(90,(sp.1ength)*20);

p.setLayout(new GridLayout(sp.1ength,1));

nameList=sp;

boxArray=new JCheckB ox[sp.1ength];

for(int i=0;i

JCheckBox box=new JCheckBox(sp[i]);

box.___addItemListener(this)________;

p.add(box);

boxArray[i]=box;

}

con.add(p);

text=new JTextArea(3,13);

text.setText("");

JScrollPane jsp=new JScrollPane(text);

jsp.setSize(100,60);

con.add(jsp);

setSize(100,(sp.1ength)*20+120);

setLocation(100,100);

setVisible(true);

}

public void itemStateChanged(ItemEvent e){

for(int i=0;i

if(e.getItemSelectable()==_________boxArray[i]__________ ){

if(boxArray[i].isSelected())

text.append(nameList[i]+".從未選中變成被選中\n");

else

text.append(nameList[i]+":從選中變成未被選中\n");

return;

}

}

}

}

30.以下是一個(gè)JPanel的子類的paintComponent方法,該方法利用Graphics2D繪制一個(gè)正方形,正方形 的位置、邊長(zhǎng)和顏色分別存于該類的成員變量lTop、edge和c中。

int edge; Point 1Top; Color c;

public void paintComponent(Graphics g){

Graphics2D g2=(Graphics2D)g;

g2.setColor(c);

Rectangle2D rec=new Rectangle2D.______ Double ______(1Top.x,lTop.y,edge,edge);

____g2.draw(rec)_____;

}

31.以下小應(yīng)用程序的界面有一個(gè)文本區(qū),文本區(qū)同時(shí)作為發(fā)生鍵盤事件的事件源,并對(duì)鍵盤事件實(shí)施監(jiān) 視。程序運(yùn)行時(shí),先點(diǎn)擊文本區(qū),讓它激活,以便能響應(yīng)鍵盤事件。以后輸入英文字母時(shí),在文本區(qū)中 順序顯示輸入的字母。

import java.applet.*;import javax.swing.*;

import java.awt.*;import java.awt.event.*;

public class Test31 extends Applet implements____KeyListener_____{

JTextArea text=new JTextArea(5,10);

public void init(){setSize(200,200);

_______text.addKeyListener(this)________;

text.setBackground(Color.gray); add(text);

}

public void keyPressed(KeyEvent e){}

public void keyReleased(KeyEvent e){}

public void keyTyped(KeyEvent e){

int t=e.getKeyCode();

if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){

text.append(""+(char)t);

}

}

}

五、程序分析題(本大題共5小題,每小題4分,共20分)

32.閱讀下列程序,請(qǐng)寫出該程序的功能。

public class Test32

{ public static void main(String args[])

{ double sum=0.0;

for (int i=1; i<=500;i++)

sum+=1.0/(double)i;

System.out.println( "sum="+sum);

}

}

程序功能:計(jì)算并顯示sum=1111123500 +++

33.閱讀下列程序,請(qǐng)回答以下問(wèn)題:

(1)界面中有哪些組件?

(2)點(diǎn)擊每一個(gè)按鈕分別會(huì)顯示什么內(nèi)容?

import java.applet.*; import java.awt.*;

import java.awt,event.*;import javax.swing.*;

public class Test33 extends Applet implements ActionListener{

String msg="";

String buttonCom[]={"Yes","No","Undecided"};

JButton bList[]=new JButton[buttonCom.length];

JTeXtField t;

public void init(){

setLayout(new GridLayout(4,1));

for(int i=0;i

bList[i]=new JButton("按鈕"+(i+1));

add(bList[i]);

bList[i].addActionListener(this);

}

t=new JTextField();

add(t);

}

public void actionPerformed(ActionEvent e){

for(int i=0;i<3;i++){

if(e.getSource()==bList[i]){

t.setTeXt("You pressed"+buttonCom[i]);

break;

}

}

}

}

答:(1) 界面中組件有;三個(gè)按鈕,一個(gè)文本框。

(2) 分別顯示:You pressed Yes;You pressed No;You pressed Undecided。

34.閱讀下列程序,請(qǐng)寫出該程序的功能。

import java.io.*; import java.awt.*; import javax.swing.*;

import java.awt.event.*;

class MyWindow extends JFrame implements ActionListener{

JTextArea text;BufferedReader in;JTextField fileName;

FileReader file;

MyWindow(){

Container con=this.getContentPane();//獲得內(nèi)容面板

con.setLayout(new BorderLayout());

fileName=new JTextField("輸入文件名");

fileName.addActionListener(this);

text=new JTextArea(20,30);

JScrollPane jsp:new JScrollPane(text);

con.add(jsp,BorderLayout.CENTER);

con.add(fileName,"South");setVisible(true);

}

public void actionPerformed(ActionEvent e)

{ String s;

try{File f=new File(fileName.getText());

file=new FileReader(f);

in=new BufferedReader(file);

} catch(FileNotFoundException el){}

try{ while((s=in.readLine())!=null)

text.append(s+'\n');

}catch(IOException exp){}

}

}

public class Test34{

public static void main(String args[ ]) {new MyWindow();}

}

答:程序運(yùn)行時(shí)顯示一個(gè)對(duì)話框,用戶在下面的文本框中輸入文件名,中間的文本區(qū)顯示文件內(nèi)容。

35.閱讀下列程序,請(qǐng)回答以下問(wèn)題:

(1)該程序中的類MyPanel的成員變量twoClick的作用是什么,該成員變量的值是如何改變的?

(2)程序運(yùn)行時(shí),用戶在界面的不同位置,用鼠標(biāo)點(diǎn)擊兩次,界面中會(huì)出現(xiàn)什么?

import java.awt.*;import javax.swing.*;import java.awt.event.*;

class MyPanel extends JPanel implements MouseListener{

int leftx,lefty,rightx,righty;

boolean twoClick;

MyPanel() {

twoClick=false;addMouseListener(this);

}

public void mousePressed(MouseEvent e){

if(!twoClick){

leftx=e.getX();lefty=e.getY();

}else{

rightx=e.getX();righty=e.getY();repaint();

}

twoClick=!twoClick:

}

public void mouseClicked(MouseEvent e){}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseReleased(MouseEvent e){}

public void paintComponent(Graphics g){

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

g.fillRect(1efix

}

}

class MyWin extends JFrame{

MyPanel p=new MyPanel();

MyWin(){

getContentPane().add(p);

setSize(400,400);setLocation(100,100);setVisible(true);

}

}

public class Test35 extends JFrame{

public static void main(String[]args){new MyWin();}

}

答:(1) 成員變量twoClick是布爾類型,false標(biāo)識(shí)第一次按下鼠標(biāo),true標(biāo)識(shí)第二次按下鼠標(biāo)。它的 值隨鼠標(biāo)的按動(dòng)在false與true間循環(huán)改變。

(2) 界面中畫出一個(gè)矩形塊。

36.閱讀下)列程序,請(qǐng)回答以下問(wèn)題:

(1)程序執(zhí)行時(shí)創(chuàng)建的線程個(gè)數(shù)。

(2)各線程的名稱。

(3)舉例給出程序可能的輸出結(jié)果。

class SelfManaged extends Thread{

int countDown;

public SelfManaged(String name,int c){

countDown=c;

setName(name);start();

}

public void run(){

while(true){

System.out.println(getName()+" ("+countDown+")");

try{

sleep(50);

}catch(InterruptedException e){};

if(--countDown== 0)

return;

}

}

}

public class Test36{

public static void main(String[]args){

for(int i=0;i<2;i++)

new SelfManaged("線程"+String.valueOf(i),2);

} Math.abs(righty-lefty)); lefty,Math.abs(rightx-leftx), ,

}

答:(1) 創(chuàng)建的線程個(gè)數(shù) : 2

(2) 各線程的名稱:線程0,線程1

(3) 輸出結(jié)果:

線程0(2)

線程1(2)

線程0(1)

線程1(1)

六、程序設(shè)計(jì)題(本大題共2小題,每小題6分,共12分)

37.編寫方法int[] delete(int []a,int d),方法將創(chuàng)建一個(gè)新數(shù)組b,新數(shù)組b中只包含原數(shù)組中所有值不等 于d的元素,并返回該新數(shù)組b。

int[] delete(int []a,int d)

{

int i, j, len, count = 0;

for (i = 0; i < a.length; i++)

if (a[i] == d) count++;

len = a.length

相關(guān)文章

相關(guān)歷年真題

考試大綱