10道經(jīng)典java編程筆試題_第1頁
10道經(jīng)典java編程筆試題_第2頁
10道經(jīng)典java編程筆試題_第3頁
10道經(jīng)典java編程筆試題_第4頁
10道經(jīng)典java編程筆試題_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、10 道經(jīng)典 java 編程筆試題【程序 1】題目:古典問題:有一對兔子,從出生后第 3 個月起每個月都生一對兔子,小兔子長到第三個月后每個月 又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少/ 這是一個菲波拉契數(shù)列問題public class lianxi01 public static void main(String args) System.out.println("第 1 個月的兔子對數(shù) : 1");System.out.println("第 2 個月的兔子對數(shù) : 1");int f1 = 1, f2 = 1, f, M=24;for(

2、int i=3; i<=M; i+) f = f2;f2 = f1 + f2;f1 = f;System.out.println("第 " + i +"個月的兔子對數(shù) : "+f2);【程序 2】題目:判斷 101-200 之間有多少個素數(shù),并輸出所有素數(shù)。程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。public class lianxi02 public static void main(String args) int count = 0;for(int i=101; i<

3、;200; i+=2) boolean b = false;for(int j=2; j<=Math.sqrt(i); j+)if(i % j = 0) b = false; break; else b = true; if(b = true) count +;System.out.println(i );System.out.println(素數(shù)個數(shù)是 : " + count);【程序 3】題目:打印出所有的 " 水仙花數(shù) " ,所謂 " 水仙花數(shù) " 是指一個三位數(shù), 其各位數(shù)字立方和等于該數(shù)本身。例如: 153 是一個 "

4、 水仙花數(shù) " ,因為 153=1 的三次方 +5 的三次方 +3 的三次方。public class lianxi03 public static void main(String args) int b1, b2, b3;for(int m=101; m<1000; m+) b3 = m / 100;b2 = m % 100 / 10;b1 = m % 10;if(b3*b3*b3 + b2*b2*b2 + b1*b1*b1) = m) System.out.println(m+" 是一個水仙花數(shù) "); 【程序 4】題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:

5、輸入 90, 打印出 90=2*3*3*5 。程序分析:對n進行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。 如果n <> k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行 第一步。(3) 如果 n 不能被 k 整除,則用 k+1 作為 k 的值, 重復(fù)執(zhí)行第一步。import java.util.*;public class lianxi04public static void main(String args) Scanner s = new Scanner

6、(System.in);System.out.print( " 請鍵入一個正整數(shù) : ");int n = s.nextInt();int k=2;System.out.print(n + "=" );while(k <= n) if(k = n) System.out.println(n);break;else if( n % k = 0) System.out.print(k + "*");n = n / k; else k+;【程序 5】題目:利用條件運算符的嵌套來完成此題:學(xué)習(xí)成績> =90分的同學(xué)用A表示,60-

7、89分之間的用B表示,60分以下的用C表示。import java.util.*;public class lianxi05 public static void main(String args) int x;char grade;Scanner s = new Scanner(System.in);System.out.print( " 請輸入一個成績 : ");x = s.nextInt();grade = x >= 90 'A': x >= 60 'B':'C'System.out.println(&quo

8、t; 等級為: "+grade);【程序 6】題目:輸入兩個正整數(shù) m和n,求其最大公約數(shù)和最小公倍數(shù)。/* 在循環(huán)中,只要除數(shù)不等于 0,用較大數(shù)除以較小的數(shù),將小的一個數(shù)作為下一輪循環(huán)的大數(shù),取得的 余數(shù)作為下一輪循環(huán)的較小的數(shù), 如此循環(huán)直到較小的數(shù)的值為 0,返回較大的數(shù), 此數(shù)即為最大公約數(shù), 最小公倍數(shù)為兩數(shù) 之積除以最大公約數(shù)。 * /import java.util.*;public class lianxi06 public static void main(String args) int a ,b,m;Scanner s = new Scanner(System

9、.in);System.out.print( "鍵入一個整數(shù):");a = s.nextInt();System.out.print( "再鍵入一個整數(shù): ");b = s.nextInt();deff cd = new deff();m = cd.deff(a,b);int n = a * b / m;System.out.println(" 最大公約數(shù) : " + m);System.out.println(" 最小公倍數(shù) : " + n);class deffpublic int deff(int x, in

10、t y) int t;if(x < y) t = x;x = y;y = t;while(y != 0) if(x = y) return x;else int k = x % y;x = y;y = k;return x;【程序 7】 題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。 import java.util.*;public class lianxi07 public static void main(String args) int digital = 0;int character = 0;int other = 0;int blank = 0;c

11、har ch = null;Scanner sc = new Scanner(System.in);String s = sc.nextLine(); ch = s.toCharArray();for(int i=0; i if(ch >= '0' && ch <= '9') digital +; else if(ch >= 'a' && ch <= 'z') | ch > 'A' && ch <= 'Z') cha

12、racter +; else if(ch = ' ') blank +; else other +;System.out.println("System.out.println("數(shù)字個數(shù) : " + digital); 英文字母個數(shù) : " + character);System.out.println("System.out.println("空格個數(shù) : " + blank); 其他字符個數(shù) :" + other );【程序 8】題目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中

13、a 是一個數(shù)字。例如 數(shù)相加 ) ,幾個數(shù)相加有鍵盤控制。2+22+222+2222+22222(此時共有 5 個import java.util.*;public class lianxi08 public static void main(String args) long a , b = 0, sum = 0;Scanner s = new Scanner(System.in);System.out.print(" 輸入數(shù)字 a 的值: "); a = s.nextInt();System.out.print(" 輸入相加的項數(shù): "); int

14、n = s.nextInt();int i = 0;while(i < n) b = b + a;sum = sum + b;a = a * 10;+ i;System.out.println(sum);【程序 9】題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為 " 完數(shù) " 。例如 6=1+2+3.編程 找出 1000 以內(nèi)的 所有完數(shù)。public class lianxi09 public static void main(String args) System.out.println("1 到 1000 的完數(shù)有: ");for(int i=1; i<1000; i+) int t = 0;for(int j=1; j<= i/2; j+) if(i % j = 0) t = t + j;if(t = i) System.out.print(i + " ");【程序 10】題目:一球從 100米高度自由落下,每次落地后反跳回原高度的一半 ;再落下,求它在 第 10 次落地時,共 經(jīng)過多

溫馨提示

  • 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

提交評論