日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java筆試題庫和代碼 java筆試題大全帶答案簡書

JAVA筆試題(與構(gòu)造函數(shù)、靜態(tài)變量有關(guān))

1.amethod()方法被重寫

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了黃平免費建站歡迎大家使用!

2.getMyClass()中輸出一次,main()中再輸出一次

求java考題,筆試題

Java面向?qū)ο?/p>

1. super()與this()的區(qū)別?

This():當(dāng)前類的對象,super父類對象。

Super():在子類訪問父類的成員和行為,必須受類繼承規(guī)則的約束

而this他代表當(dāng)前對象,當(dāng)然所有的資源都可以訪問.

在構(gòu)造函數(shù)中,如果第一行沒有寫super(),編譯器會自動插入.但是如果父類沒有不帶參數(shù)的構(gòu)造函數(shù),或這個函數(shù)被私有化了(用private修飾).此時你必須加入對父類的實例化構(gòu)造.而this就沒有這個要求,因為它本身就進行實例化的構(gòu)造.

而在方法中super和this使用的方法就差不多了.只不過super 要考慮是否能訪問其父類的資源.

2. 作用域public,protected,private,以及不寫時的區(qū)別?

Public:不同包、 同一包、 類內(nèi)都可用

Private: 類內(nèi)

Protected:不同包的子類、同一包、 類內(nèi)都可用

不寫時: 同一包內(nèi)、類內(nèi)

3. 編程輸出如下圖形。

* * * * *

* * * *

* * *

* *

*

代碼如下:

public class Print {

publicstatic void main(String[] args) {

for(int i = 0; i 5; i++) {

for(int j = 5; j i; j--) {

System.out.print("*");

}

System.out.println();

}

}

}

4. JAVA的事件委托機制和垃圾回收機制

Java事件委托機制的概念,一個源產(chǎn)生一個事件并將它送到一個或多個監(jiān)聽器那里。在這種方案中,監(jiān)聽器簡單的等待,直到它收到一個事件。一旦事件被接受,監(jiān)聽器將處理這個事件,然后返回。

垃圾回收機制垃圾收集是將分配給對象但不再使用的內(nèi)存回收或釋放的過程。如果一個對象沒有指向它的引用或者其賦值為null,則次對象適合進行垃圾回收

5. 在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?

用break; return 方法。

6. 什么是java序列化,如何實現(xiàn)java序列化?(寫一個實例)

序列化:處理對象流的機制,所謂對象流也就是將對象的內(nèi)容進行流化。可以對流化后的對象進行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進行讀寫操作時所引發(fā)的問題。

序列化的實現(xiàn):將需要被序列化的類實現(xiàn)Serializable接口,該接口沒有需要實現(xiàn)的方法,implementsSerializable只是為了標(biāo)注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數(shù)為obj的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。

7. 一個".java"源文件中是否可以包括多個類(不是內(nèi)部類)?有什么限制?

可以。如果這個類的修飾符是public,其類名與文件名必須相同。

8. 排序都有哪幾種方法?請列舉。用JAVA實現(xiàn)一個快速排序?

排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序)

快速排序的偽代碼。

9. Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

重寫Override,子類覆蓋父類的方法,將子類傳與父類的引用調(diào)用的還是子類的方法。

重載Overloading 一個類多個方法,名稱相同,參數(shù)個數(shù)類型不同。

兩者都是Java多態(tài)性的不同表現(xiàn)。

Overloaded的方法是可以改變返回值的類型。

1, public class Ctest(){

Public static void main(){

System.out.prinln(8+8+”88”+8+8);

}

} 168888

(方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。

Overloaded的方法是可以改變返回值的類型。)

10. Final類有什么特點?

屬性常量 方法不可以overridding 類不可以繼承

11. 繼承時候類的執(zhí)行順序問題,一般都是選擇題,問你將會打印出什么?

答:父類:

package test;

public class FatherClass {

public FatherClass() {

System.out.println("FatherClassCreate");

}

}

子類:

package test;

import test.FatherClass;

public class ChildClass extends FatherClass{

public ChildClass() {

System.out.println("ChildClassCreate");

}

public static void main(String[] args) {

FatherClass fc = new FatherClass();

ChildClass cc = new ChildClass();

}

}

輸出結(jié)果:

C:java test.ChildClass

FatherClass Create

FatherClass Create

ChildClass Create

12. 內(nèi)部類的實現(xiàn)方式?

package test;

public class OuterClass {

private class InterClass {

Public Interlass(){

System.out.println("InterClassCreate");

}

}

public OuterClass(){

InterClass ic = new InterClass();

System.out.println("OuterClassCreate");

}

public static void main(String[] args){

OuterClass oc = new OuterClass();

}

}

輸出結(jié)果:

C:java test/OuterClass InterClass Create OuterClass Create

13. 用JAVA實現(xiàn)一種排序,JAVA類實現(xiàn)序列化的方法(二種)?

14. 如在COLLECTION框架中,實現(xiàn)比較要實現(xiàn)什么樣的接口?

15. 用插入法進行排序代碼如下

package test;

import java.util.*;

class InsertSort {

ArrayList al;

public InsertSort(int num,int mod) {

al = new ArrayList(num);

Random rand = new Random();

System.out.println("The ArrayList SortBefore:");

for (int i=0;inum ;i++ ){

al.add(new Integer(Math.abs(rand.nextInt())% mod + 1));

System.out.println("al["+i+"]="+al.get(i));

}

}

public void SortIt(){

Integer tempInt;

int MaxSize=1;

for(int i=1;ial.size();i++){

tempInt = (Integer)al.remove(i);

if(tempInt.intValue()=((Integer)al.get(MaxSize-1)).intValue()){

al.add(MaxSize,tempInt);

MaxSize++;

System.out.println(al.toString());

} else {

for (int j=0;jMaxSize ;j++ ){

if(((Integer)al.get(j)).intValue()=tempInt.intValue()){

al.add(j,tempInt);

MaxSize++;

System.out.println(al.toString());

break;

}

}

}

}

System.out.println("The ArrayList SortAfter:");

for(int i=0;ial.size();i++) {

System.out.println("al["+i+"]="+al.get(i));

}

}

public static void main(String[] args) {

InsertSort is = new InsertSort(10,100);

is.SortIt();

}

}

JAVA類實現(xiàn)序例化的方法是實現(xiàn)java.io.Serializable接口

Collection框架中實現(xiàn)比較要實現(xiàn)Comparable 接口和 Comparator 接口

16. 編程:編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個,如"我ABC"4,應(yīng)該截為"我AB",輸入"我ABC漢DEF",6,應(yīng)該輸出為"我ABC"而不是"我ABC+漢的半個"。

public static void split(String source,intnum) throws Exception{

intk=0;

Stringtemp="";

for(int i = 0; i source.length(); i++){

byte[]b=(source.charAt(i)+"").getBytes();

k=k+b.length;

if(knum){

break;

}

temp=temp+source.charAt(i);

}

System.out.println(temp);

}

15、Java編程,打印昨天的當(dāng)前時刻

public class YesterdayCurrent{

public void main(String[] args){

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, -1);

System.out.println(cal.getTime());

}

}

16、文件讀寫,實現(xiàn)一個計數(shù)器

public int getNum(){

int i = -1;

try{

String stri="";

BufferedReader in = new BufferedReader(newFileReader(f));

while((stri=in.readLine())!=null){

i = Integer.parseInt(stri.trim());

}

in.close();

}catch(Exception e){

e.printStackTrace();

}

return i;

}

public void setNum(){

int i = getNum();

i++;

try{

PrintWriter out=new PrintWriter(newBufferedWriter(new FileWriter(f,false)));

out.write(String.valueOf(i)); //可能是編碼的原因,如果直接寫入int的話,將出現(xiàn)java編碼和windows編碼的混亂,因此此處寫入的是String

out.close() ;

}catch(Exception e){

e.printStackTrace();

}

}

17、指出下面程序的運行結(jié)果。

class A{

static{

System.out.print("1");

}

public A(){

System.out.print("2");

}

}

class B extends A{

static{

System.out.print("a");

}

public B(){

System.out.print("b");

}

}

public class Hello{

public static void main(String[] ars){

A ab = new B(); //執(zhí)行到此處,結(jié)果: 1a2b

ab = new B(); //執(zhí)行到此處,結(jié)果: 1a2b2b

}

}注:類的static 代碼段,可以看作是類首次加載(被虛擬機加載)執(zhí)行的代碼,而對于類的加載,首先要執(zhí)行其基類的構(gòu)造,再執(zhí)行其本身的構(gòu)造

18、抽象類和接口的區(qū)別?

(1)接口可以被多重implements,抽象類只能被單一extends(2)接口只有定義,抽象類可以有定義和實現(xiàn)(3)接口的字段定義默認為:publicstatic final, 抽象類字段默認是"friendly"(本包可見)

當(dāng)功能需要累積時用抽象類,不需要累積時用接口。

19、什么是類的反射機制?

通過類(Class對象),可以得出當(dāng)前類的fields、method、construtor、interface、superClass、modified等,同是可以通過類實例化一個實例、設(shè)置屬性、喚醒方法。Spring中一切都是返射、struts、hibernate都是通過類的返射進行開發(fā)的。

20、類的返射機制中的包及核心類?

①java.lang.Class②java.lang.refrection.Method③java.lang.refrection.Field

④java.lang.refrection.Constructor⑤java.lang.refrection.Modifier⑥java.lang.refrection.Interface

21、得到Class的三個過程是什么?

①對象.getClass()②類.class或Integer.type(int) Integer.class(java.lang.Integer)③Class.forName();

22、如何喚起類中的一個方法?

①產(chǎn)生一個Class數(shù)組,說明方法的參數(shù)②通過Class對象及方法參數(shù)得到Method③通過method.invoke(實例,參數(shù)值數(shù)組)喚醒方法

23、如何將數(shù)值型字符轉(zhuǎn)換為數(shù)字(Integer,Double)?

Integer.parseInt(“1234”) Double.parseDouble(“123.2”)

24、如何將數(shù)字轉(zhuǎn)換為字符?

1+”” 1.0+””

25、如何去小數(shù)點前兩位,并四舍五入。

double d=1256.22d; d=d/100; System.out.println(Math.round(d)*100);

26、如何取得年月日,小時分秒?

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,2004);

c.set(Calendar.MONTH,0);

c.set(Calendar.DAY_OF_MONTH,31);

System.out.println(c.get(Calendar.YEAR)+" "+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH));

27、如何取得從1970年到現(xiàn)在的毫秒數(shù)

Java.util.Date dat=new Date(); long now=dat.getTime();

或System.currentTimeMillis()

28、如何獲取某個日期是當(dāng)月的最后一天?

當(dāng)前日期加一天,若當(dāng)前日期與結(jié)果的月份不相同,就是最后一天。

取下一個月的第一天,下一個月的第一天-1

public static void main(String[] args){

Calendarc=Calendar.getInstance();

c.set(Calendar.YEAR,2004);

c.set(Calendar.MONTH,0);

c.set(Calendar.DAY_OF_MONTH,30);

Calendarc1=(Calendar)c.clone();

System.out.println(c.get(Calendar.YEAR)+""+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH));

c.add(Calendar.DAY_OF_MONTH,1);

if(c.get(Calendar.MONTH)!=c1.get(Calendar.MONTH)){

System.out.println("是最后一天");

}else{

System.out.println("不是取后一天");

}

}

29、如何格式化日期?

Import java.text. SimpleDateFormat;

SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dat=new Date();

String str=sdf.format(dat); //把日期轉(zhuǎn)化為字符串

System.out.println(str);

Java.util.Date d1=sdf.parse(“yyyy-mm-dd”); //將字符串轉(zhuǎn)化為日期

30、編碼轉(zhuǎn)換,怎樣實現(xiàn)將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串。

String a=new String("中".getBytes("gb2312"),"iso-8859-1");

String a=new String("中".getBytes("iso-8859-1"));

應(yīng)該是String a=new String("中".getBytes("gb2312"),"iso-8859-1");

String a1=newString(a.getBytes("iso-8859-1"));

求java筆試,面試題,有答案的,在此謝過了,郵箱:chixinjd521@163.com

一、基礎(chǔ)知識填空題(2*20)

1. 面向?qū)ο笳Z言的三個典型特征是____、____、____。

2. java中數(shù)值型變量被聲明而未賦值時,是帶有缺省值的,boolean類型聲明的缺省值是____,float類型聲明時的缺省值是___.

3. String s = new String(“xyz”)創(chuàng)建了____個String Object.

4. JavaBean 的 scope(生命周期)一般可為四種類型:request,____,____,____.

class A {

void method1(){

System.out.println("method1() in class A");

}

void method2(){

System.out.println("method2() in class A");

}

}

class B extends A{

void method1(){

System.out.println("method1() in class B");

}

void method3(){

System.out.println("method2() in class B");

}

}

class C{

public static void main(String[] args) {

A a = new B();

a.method1(); //a _________

a.method2(); //b _________

}

}

當(dāng)運行class C后,請在注釋a/b處填寫輸出內(nèi)容.

6. int a=2; int v=++a + ++a * ++a;那么v = _______.

7.

class C {

public static void main(String[] args){

int i = 1;

int j=i++;

System.out.println("i="+i+",j="+j);

}

}

當(dāng)運行class C后,會輸入_________?

8. public class Test{

private void paraTest(int x, java.util.Vector y){

x+=5;

y.add("22");

System.out.println("x:"+x);

System.out.println("y:"+y.size());

}

public static void main(String[] args){

int a= 5;

java.util.Vector b = new java.util.Vector();

b.add("11");

System.out.println(a); //a ________.

System.out.println(b.size()); //b ________.

Test test = new Test();

test.paraTest(a, b);

System.out.println(a); //c ________.

System.out.println(b.size()); //d ________.

}

}

當(dāng)運行class Test后,請在注釋a,b,c處填寫輸出內(nèi)容.

9. Ajax無需刷新頁面便可向server端傳輸或讀寫數(shù)據(jù),這一點主要基于browser的一個對象實現(xiàn),這個對象是______.

10. XML的解析方法有兩種,包括______解析和______解析.

二、

1. java中的char類型對象可以儲存一個漢字.( )

2. 如果沒有顯式調(diào)用父類的構(gòu)造函數(shù),java總是調(diào)用父類的黑夜構(gòu)造函數(shù),即在執(zhí)行當(dāng)前類的構(gòu)造函數(shù)之前會先執(zhí)行默認的super()語句( )

3. 靜態(tài)方法中可以使用類中定義的非靜態(tài)成員變量.( )

4. java中只允許單一繼承, 可以在繼承的同時實現(xiàn)一個接口.( )

5. java中的boolean類型可以作為數(shù)字處理.( )

6. 局部變量(方法內(nèi)部變量)在使用時必須顯式初始化.( )

7. 如果一個對象實例為null, 則不會被instanceof其父類或接口的.( )

8. switch語句可以作用在char上,byte上,short上.( )

9. try{}里有一個return語句,那么跟在try后的finally{}里的代碼不會被執(zhí)行.( )

10. 一個一般的類(沒有父類),其初始化的順序是: static變量, static方法塊, 一般的實例變量, 構(gòu)造函數(shù).( )

三、綜合知識問答題(3*10)

1. 請描述java語言中類的修飾符, public, protected, private, 以及沒有修飾符時的作用范圍.

2. MVC是一種典型的架構(gòu)模式, Sturts是Mvc2的一種實現(xiàn)形式, 請簡述Struts的體系結(jié)構(gòu)和其主要組成部分的作用.

3. 簡單工廠模式和工廠方法模式均屬于設(shè)計模式之創(chuàng)建模式的一種, 請從其OO法則及實現(xiàn)原理等方面論述二者的實現(xiàn)過程(寫出示例代碼亦可).

4. JDK1.5導(dǎo)入了一些新的語言特性, 更有利于代碼的書寫, 如支持泛型, 自動拆/裝箱,增強的for循環(huán)等, 請結(jié)合代碼給出示例.

5. OO法則是OO語言書寫時需要遵從的約定俗成的規(guī)則, 如開放--關(guān)閉法則,請簡述你所知道的其它OO法則.

6. 給出冒泡排序的代碼實現(xiàn).

7. Overload和Override的區(qū)別?

8. 請試圖描述java語言中的GC(Gabage Collection)

9. 請傳述數(shù)據(jù)庫中的幾種表連接方式, 或代碼未例.

10. 請描述你對自己的職業(yè)規(guī)劃或者未來的職業(yè)發(fā)展目標(biāo).

誰能發(fā)個全國計算機考試的JAVA真題給我?筆試題

Java是一個很好的面向?qū)ο笳Z言,這是08年的試題。你可以在網(wǎng)上下更全套的試題練習(xí)。

全國2008年10月考試Java 語言程序設(shè)計(一)試題

課程代碼:04747

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

在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。

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

A.Aa12 B.大x

C.y小 D.5x

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

int x=53;

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

A.27.0 B.27.5

C.1.026 D.1.026.5

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

class A{

int x; static int y;

void fac(String s){Syatem. out. println(”字符串:”+s);}

}

A.x、y和s都是成員變量

B.x是實例變量、y是類變量、s是局部變量

C.x和y是實例變量、s是參數(shù)

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

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

( )

A.String B.StringBuffer

C.StringTokenizer D.stringTokenizer

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

A.JFrame(s) B.window(s)

C.new JFrame(s) D.super(s)

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.創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法

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

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

A.FileInputStream類和FileOutputStream類

B.InputStream類和OutputStream類

C.FileReader類和FileWriter類

D.File_Reader類和File_Writer類

10.能利用對象提供的方法獲得流對象和實現(xiàn)網(wǎng)絡(luò)連接的是( )

A.URLConnection對象 B.URL對象

C.InetAddress對象 D.TCP/IP對象

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

請在每小題的空格中填上正確答案。錯填、不填均無分。

11.一個小應(yīng)用程序必須定義成一個_________。

12.用條件運算符構(gòu)造一個表達式:goal等于10時,表達式的值為“對了!”,否則,表達式的值為“錯了!”。這個表達式是_________。

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

14.設(shè)有數(shù)組a和b的定義如下:

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

……

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

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

16.Java語言為處理鼠標(biāo)事件提供兩個接口:_________接口和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有且只有一個成立”的Java表達式”。

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é)束事件(回車)添加監(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;

while(n>0){

d=_______;

if(d>c) 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 n=fenxi.countTokens();

double a[]=new double[n];

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

String temp=fenxi.nextToken();

a[i]=Double.valueOf(temp).doubleValue();

}

sum=0;

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

__________;

}

text2.setText(””+sum);//刷新顯示。

}

}

29.以下是生成菜單項對象,以及菜單項選擇事件處理方法的部分代碼。要求當(dāng)菜單項singingItem被選中時,在文本框text中輸出“唱歌菜單項被選中!”的字樣。

……

singingItem=new________(”唱歌”);//生成菜單項對象

……

public void 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;

Image[]pic=new Image[number];

public void paint(______gc){

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

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

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

}

public void mousePressed(MouseEvent e){

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

__________;

}

31.以下定義的類shareDataManager用于管理多個線程共享數(shù)據(jù)data。一些線程要減少data,另一些線程要增加data。由于data不可以是負值,修改data的方法對這些線程來說不僅要互斥,還要同步。類提供一個方法modiData()供修改data的線程調(diào)用,該方法在data修改結(jié)束后,應(yīng)通知其它等待進入這個方法的線程。

class ShareDataManager{

int data=0;

________void modiData(int delta){

if(delta>=0){

data+=delta;

}else {

while(data <delta){

try{System.out.println(”發(fā)生等待!”);

wait();

}catch(InterruptedException e){ }

}

data-=delta;

}

_________;

}

ShareDataManager(int ititData){data=initData;}

}

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

32.閱讀下列程序,請寫出該程序的輸出結(jié)果。

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

class Point{

int 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 Point{

int 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 sample extends Applet{

Circle 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 Class1{

public 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 extends Applet implements ActionListener{

JTextField 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.getText());

text2.setText(String.valueOf(n*n));

}

}

}

35.閱讀以下程序,請寫出該程序的功能。

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

class MyScrollBar extends JscrollBar{

public MyScrollBar(int init, int len, int low, int high){

super(JScrollBar. HORIZONTAL, init,len,low,high);

}

}

class MyWindow extends JFrame implements AdjustmentListener{

private 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);

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 Class1{

public static void main(String[]args){

MyWindow myWindow=new MyWindow(”text5_4”);

}

}

36.小應(yīng)用程序創(chuàng)建一個線程。例子使用容器類方法getGraphics()獲得Graphics對象,給線程作為畫筆使用。請寫出該程序中這個線程的工作內(nèi)容。

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

public class Class1 extends java.applet.Applet implements Runnable{

Thread redBall;Graphics redPen;

int rx=0,ry=0;

public void init(){

setSize(250,200);

redBall =new Thread(this);

redPen=getGraphics();

redPen. setColor(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);

try{redBall.sleep(500);}

catch(InterruptedException 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é)果輸出在第三個文本框中。以下是程序的大部分,其中監(jiān)視按鈕事件的方法未給出,試編寫處理按鈕事件的方法。

注:這里是給定部分的程序,你要編寫的是actionPerformed(ActionEvent e)方法。

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

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

class Panel1 extends JPanel{

JTextField text1, text2, text3;JButton addButton,subButton;

Panel1(){

text1=new JTextField(10);text2=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 ActionListener{

Pane1 panel;

public void init(){

setSize(100,200); panel=new Panel1();add(panel);

(panel.addButton).addActionListener(this);

(panel.subButton). addActionListener(this);

}

public void actionPerformed(ActionEvent e){


本文題目:java筆試題庫和代碼 java筆試題大全帶答案簡書
本文鏈接:http://www.dlmjj.cn/article/dojejie.html