JavaSE筆試程序題_第1頁(yè)
JavaSE筆試程序題_第2頁(yè)
JavaSE筆試程序題_第3頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JavaSE 筆試程序題 ( 20180307 )1 、 寫出一個(gè) Singleton 來(lái), Singleton 模式主要作用是保證在 Java 應(yīng)用程序中,一個(gè)類 Class 只 有一個(gè)實(shí)例存在。private static SingletonClassl singLetonCLass = newSingletonClassl();private SingletonClassl()public static SingletonClassl getlnstance() returnsingLetonCLass;2、打印出 99 乘法表。public static void main(Strin

2、g args) int i;int j;for(i=0;i<10;i+) for(j=l;j<=i;j+) System.out. print (j+ , *"+i+ , = "+i*j);Sys tern. out. print ln();3、隨機(jī)生成 1000 個(gè)數(shù),并進(jìn)行倒序排序。public static void main(String args) int array = newint1000; for(int i=0;i<1000;i+) arrayi=(int)(Math.randoffl()*10000);Sys tern. out. pr

3、int ln(arrayi);for(int i=0;i<array.length-l;i+)(for(int j=0;j<amay.length-i-l;j+) if(arrayj>arrayj+l) int temp = arrayj;amayj = arrayj+l;arrayj+1 = temp;for(int i=0;i<1000;i+) (Sys tern. out. print ln(arrayi);4、計(jì)算斐波那契數(shù)列第幾位上的數(shù)字,定義一個(gè)函數(shù) f(n), n 為位數(shù),函數(shù)返回值為該位 數(shù)上 的數(shù)值。(斐波那契數(shù)列的例子 1、1、2、3、5、8、13)

4、漢諾塔問(wèn)題描述: A、B、C三個(gè) 桌子,其中 A 桌子上放了幾個(gè)大小不同的盤子,盤子的 排列順序是:從上到下,依次從小 到大遞增;現(xiàn)在要求把這些盤子從 A 桌子上移動(dòng)到 C 桌子上,盤子移動(dòng)時(shí)有一點(diǎn)要求:每 次移動(dòng)必須保證三張桌子上大盤子在下,小盤子在上;打印移動(dòng)次序。5、一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就成為" 完數(shù)。例如 6=1+2+3 編程:找出1000 以內(nèi)的所有完數(shù)。for(int i=l;i<1000;i+) ( int y=0;for(int j=l;j<i;j+) if(i%j=0) y+=j; if(y=i)( System.out.print(i

5、+String.vatueO/('t'); 6、編寫一段代碼,將字符串 "abcdefg ”倒序輸出為 gfedcba String str = "abcdefg"String sortedStr=reverseSort(str);System.out.printIn(sortedStr); (public static String reverseSort(String str)(String str2=null;for(int i=str.length()-1;i>-l;i-)( str2+=String.vaLueO/(str.char

6、At(i);/Returns the char value at the specified index) return str2;7、用 Java 寫一個(gè)多線程程序,如寫四個(gè)線程,二個(gè)對(duì)一個(gè)變量加1, 二個(gè)對(duì)一個(gè)變量減一行打印輸出。public class Test ( int j=l ; public synchronized void inc()( j+ ;System. out. println(Thread. currentThread( ) ? getName() + "- inc:"+j)class T1 implements Runnable( public

7、 void run()( inc(); public synchronized void dec()( j-SIISystem. out. println(Thread.currentThread ) ? getName() +dec:"+j) class Til implements Runnable( public void run()( dec(); public static void main(String args) ( Test t = new Test();T1 tl =t.new Tl();Til til =t.new Tll(); for(int i=0;i<

8、;2;i+)( Threadthread=new Thread(tl); thread.start(); Thread threadl=new Thread(tll); threadl.start();8、 定義一個(gè) Person類,擁有name, age屬性:(a)隨機(jī)生成是個(gè) person對(duì)象,放到集合中,并依次輸岀姓名和年齡。(b)重寫compareTo方法,使得person可以根據(jù)age進(jìn) 行比較。(c)通過(guò)排序,根據(jù) age大小,把集合中的 person從小到大輸岀。9、 請(qǐng)編寫一個(gè)函數(shù),完成可以按GBK字節(jié)數(shù)分割字符串的功能,(要求,遇到中文不能拆成半個(gè)),女口 splitByBy

9、tesC 中文版 Java",5),得到("中文,版 Jav , a”。10、寫一個(gè)算法對(duì) 9,43,16,1,24,31,7進(jìn)行升序排序。public static void main(String args) ( int array =9,43,16,1,24,31,7; for(int i=0;i<array.length-1;i+)(for(i nt j=O;j<arra y.len gth-i-1;j+)(if(arrayj>arrayj+l)( int temp = arrayj; arrayj = arrayj+l; arrayj+1 = t

10、emp; for (int i = 0; i < arra y.len gth; i+) ( System.out.pri ntI n(arrayi);11、一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34求第30位數(shù)字是啥,用遞歸算法實(shí)現(xiàn)。public static void main( Stri ng args) ( int i=l;i nt j=l;i ntresult=0; int num=0; for(i nt coun t=3;co un t<=30;co un t+)(result=i+j; num=i;i=j ; j=result;System.out.p

11、ri ntl n( result);12、輸入一行字符,分別統(tǒng)計(jì)岀其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。publicstatic void main (Stri ng args)(int num=0,chartra=0jblak=0 jother=0; Scanner s=newScann er(System.i n);System. out . println(”請(qǐng)輸出");Stringresult=s.nextLine(); char x=result.toCharArray(); for(i nti=0;i<x.length;i+)( if(Character.isD

12、igit(xi)( num+;)else if(Character.is£ etter(xi)( chartra+;)else if(Character else other+; System. out. printinSystem.out.pri ntl n(”System.out.pri ntl n(”攔 Spac e(x i) blak+;(”數(shù)字的個(gè)數(shù)是"+num); 字符的個(gè)數(shù)是"+chartra); 空值的個(gè)數(shù)是"+blak); System.out.printin (”其他的個(gè)數(shù)是n+other);13、青蛙一次可以跳上 1級(jí)臺(tái)階,也可以跳

13、上2級(jí)臺(tái)階,求該青蛙跳上一個(gè)n級(jí)的臺(tái)階 總共有多少種跳法。public static int 3umpFloor(i nt target)(if(target=l)(return1;if(target=2)(return2;return JumpFLoor(target -1)+JumpFLoor(target-2); public static void main( Stri ng args) System.out. printIn (" 請(qǐng)輸入臺(tái)階:"); Scanner sc = new Scanner(System.in); int n = sc.n extl nt

14、();System.out.pri ntln(Ju mpFLoor( n);14、編寫一個(gè)方法,能夠把一個(gè)數(shù)字轉(zhuǎn)換成十六進(jìn)制的字符串輸出。public static void main( Stri ng args)(System.out.pri ntl n(c onv ertDecimaLToBi nary (8);System.out.println(convertDecimaLToBinary (298); System.out.pri ntln (co nvertDecimaLToBi nury(9123); public static Stri ng conv ertDecimalTo

15、Bi nary(i nt value)(return In teger.toHexStri ng(value); 15、編寫程序判斷一個(gè)類是否是一個(gè)類的子類或者實(shí)現(xiàn)了某個(gè)接口,一個(gè)對(duì)象是否是某個(gè)類的實(shí)例。public class IsAssig nableFromTest impleme nts Serializable( private static fin al l ong seriaLVersio nUID =public static void main(String口 args)(boolea n rel=Object.class ? isAssignableFrom(lsAssig

16、nableFromTest.class);boolea nre2=Serializable.class.isAssig nableFrom(lsAssig nableFromTest.c lass);Sys tern. out. print In ("rel: "+rel+" re2: "+re2); 16、用代碼示例如何遍歷 List、Set、Map。17、用代碼示例把格式化成一個(gè)字符串 (2018-03-07T10:59:01)18、目前有一筆款項(xiàng),不超過(guò) 1000000元,請(qǐng)計(jì)算兌換成數(shù)量不限的100/50/10/5/2/1 面額錢幣的組合有多少種

17、。19、找岀一個(gè)四位數(shù),符合以下條件:前兩位等于后兩位這個(gè)數(shù)是某個(gè)數(shù)的平方20、掃描在d:/test/目錄下所有以".txt"結(jié)尾的文件,并將文件名寫入到一個(gè)文件中。21、用最有效率的方法計(jì)算 13/8 o22 、編程實(shí)現(xiàn)輸入文件名和關(guān)鍵字,計(jì)算出該關(guān)鍵字在文件中出現(xiàn)了幾次。23 、編程實(shí)現(xiàn)輸出一個(gè)文件夾下的所有文件名 ( 包括子目錄 ) 。24 、用 1,2,2,3,4,5 這六個(gè)數(shù)字,用 java 寫一個(gè) main 函數(shù),打印出所有不同的排列,如:512234 、 412345 等,要求: “ 4不”能再第三位, “3與" “5不”能相連 (使用內(nèi)存越 少越好

18、 )。25 、實(shí)現(xiàn)一個(gè)方法,輸入一個(gè)不重復(fù)、互不包含的關(guān)鍵詞集合,將輸入的文本中包含該 關(guān)鍵詞集合中的詞替換為 *, 并返回。 ( 要求考慮字符串越來(lái)越多時(shí)耗時(shí)越少越好,不使用replace,replaceAII 類的效率較低的函數(shù) ) 如: 輸入關(guān)鍵詞集合: hello, key,name,a word,next word;要替換的字符串 : hello world,the name of game is key filter.ucan say hello to any one and the word is only a word.替換后的字符串為: * world,the * of ga

19、me is * filter.u can say * to any one.and the word id only *.26、不用 API 中的內(nèi)置方法實(shí)現(xiàn)大位數(shù)相乘 ( 每個(gè)數(shù)都在 20 位以上 )27、1-2+3-4+5 n; 輸出計(jì)算結(jié)果 (要考慮效率 )。28、請(qǐng)使用遞歸算法計(jì)算正整數(shù)的階乘,例如5! =5*4*3*2*1=12029、選秀節(jié)目為選手打分的分為專家評(píng)委和大眾評(píng)委,選手最終得分公式為專家評(píng)委平均分 *專家權(quán)重 +大眾評(píng)委平均分 * (1- 專家權(quán)重 ) ,為求選手得分,假定函數(shù)接口為 int cal_score(int score, int judge_type, in

20、t weight), 其中 score 數(shù)組里存儲(chǔ)每個(gè)評(píng) 委打的分?jǐn)?shù), judge_type 里存儲(chǔ) 與 score 數(shù)組對(duì)應(yīng)的評(píng)委類別 (1- 專家 2- 大眾 ), weight 表示專家權(quán)重,請(qǐng)實(shí)現(xiàn)該函數(shù)。30 、 判斷 101-200 之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。public static void main(String args) int sum=0;for (int i = 101; i < 201; i+) for (int j = 2; j <=i; j+) if(j=i) System.out.println(j); else if(i%j=0) sum+

21、; break; System.out.println(" 總共有 "+(100-sum)+" 個(gè)素?cái)?shù) ");31、 有一對(duì)老鼠,從出生后第 3 個(gè)月開始每個(gè)月都生一對(duì)老鼠,小老鼠長(zhǎng)到第三個(gè)月后每個(gè) 月又生一對(duì)老鼠,假如老鼠都不死,問(wèn)一年內(nèi)每個(gè)月的老鼠總數(shù)為多少? public static void main (String args) ( long sl,s2;sl = 1;s2 = 1; int i=l; int m=12;while(true)if(i=l|i=2)System.out.println(i+" month: "

22、+sl);i+ ; else if(i<m) si = sl+s2; s2 = sl+s2;System.out.println(i+" month: "+sl);i+ ;System.out.println(i+ " month: "+s2);i+ ;else( break; 32 、 輸入一個(gè)數(shù),打印星號(hào)菱形,比如輸入5,打印結(jié)果為:public static void main(String args) ( Scanner sc = new Scanner(System.in); System.out .println(" 請(qǐng)輸入一

23、個(gè)奇數(shù): ");int count = sc.nextlnt();if(count%2=l) ( count=count/2+l;for(int i = 1; i <= count; i+)( for(int j = 1; j <=count - i; j+)( System.out.print("n);for(int j = 1; j <= 2 * i - 1;j+) System.out.print(, * , ); System.out.println(); for(int i = count-1; i > 0;i-)( for(int j =

24、 1; j <= count - i;j+)( System.out.print(H "); ) for(int j = 1; j <= 2 * i- 1; j+) System.out.print("*"); System.out.printIn(); )else (System.out.printing 輸入錯(cuò)誤! 33 、 編寫程序?qū)⒂蓴?shù)字和字符組成的字符串中的數(shù)字取出,并進(jìn)行升序排序輸出。例如,輸 入 “ AU31GF46S2P90HYQWRFW ”,輸出 “ 0123469”34 、 用 Java 實(shí)現(xiàn)氣泡法對(duì)任意 10 個(gè)整數(shù)按照從大到小順

25、序排序。public static void main(String args) int array = new int10;for(int i=0;i<10;i+) ( array i = (int) (Math .rczndo/w( )*100);for(int i=0;i<array.length-1;i+) ( for(int j=0;j<array.length-i-1;j+)( if(arrayj>arrayj+l)( int temp = arrayj; arrayj = arrayj+l; arrayj+1 = temp;for (int i = 0; i < array.length; i+)( System.out.printIn(arrayi);)35 、 有面額為 5 分、 2 分、 1 分的硬幣,當(dāng)告訴你要找的零錢總額時(shí),求出找零錢的方案,使得所找的零錢的硬幣枚數(shù)達(dá)到最少。public static voi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論