java基礎練習題 (珍藏版)

1: 錄入某學生5門課的成績並計算平均分,如果某分數錄入爲負,停止錄入並提示錄入錯誤.
2: 求1~100間不能被3整除的數之和
3: 輸入 3 個正數,判斷能否構成一個三角形。(兩邊只和大於第三邊,並且兩邊只差小於第三邊)
4: 輸入一個字符,判斷它是否爲小寫字母,如果是,將它轉換成大寫字母,否則,不轉換。char 都可以轉成一個整形的數字.
5: 編寫程序,從鍵盤輸入一個 0~99999 之間的任意數,判斷輸入的數是幾位數? 使用 %
6: 輸入的一個整數,按相反順序輸出該數。例如,輸入爲 3578,輸出爲 8753。
7: 使用循環語句輸出下面的圖形。

#

# # #

# # # # #

# # # # # # #

8: 編程求 1~10000 之間的所有“完全數”,完全數是該數的所有因子之和等於該數的數。例如,6 的因子有 1、2、3,且 6=1+2+3,所以 6 是完全數。

9: 將一個正整數分解質因數。例如:輸入 90,打印出 90=233*5。

10: 輸入一行字符,分別統計出其英文字母、空格、數字和其它字符的個數.

11: 一球從h米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在 第n次落地時,共經過多少米?第n次反彈多高?

12: 輸入三個整數x,y,z,請把這三個數由小到大輸出。

13: 輸出9*9口訣。

14 : 輸入行數,然後打印一個棱形. 如果輸入3,則打印如下圖形

	*       //1
       * *      //2    1個空格
      *   *     //3    3個空格
         *     *    //4    5個空格
          *   *
       * *		
        *

15: 輸入行數,然後打印打印一個等邊三角形.

	*
       * *
          * * *
         * * * *

16: 輸入行數, 然後打印一個直角三角形. 如輸入4,如圖

	   *
	  **
	 ***
	****

a: 數組: 請將一個大小爲5的int類型數組,將裏面的數字從大到小輸出
b: 數組: 請定義一個char類型的數組,然後判斷裏面,有多少個大寫字母,以及小寫字母.
char[] c = new char[]{‘a’,‘F’,‘E’,‘s’};
//判斷一下, c這個數組裏面,有多少個大寫字母,多少個小寫字母

c: 數組: 請定義一個 float類型的數組, 判斷裏面有多少種不一樣的小數位.
//判斷不同小數位的數字個數.
float[] fs = new float[]{12.2f,11.11f,12.123f,11.22f};

機試題1:
創建一個面積類,可以計算長方形,圓形的面積。並在DEMO類測試,計算長方形面積,圓的面積。
定義一個接口,接口裏面有求面積的方法,分別寫長方形,圓形兩個實現類.

	pai  ->  Math.PI		

機試題2:

通過鍵盤輸入一串小寫字母(a~z)組成的字符串。請編寫一個字符串壓縮程序,將字符串中連續出 席的重複字母進行壓縮,並輸出壓縮後的字符串。 


壓縮規則: 

1、僅壓縮連續重複出現的字符。比如字符串”abcbc”由於無連續重複字符,壓縮後的字 符串還是”abcbc”。

2、壓縮字段的格式爲”字符重複的次數+字符”。例如:字符串”xxxyyyyyyz”壓縮後就 成爲”3x6yz”。
3、aabbccaa 壓縮後爲:2a2b2c2a

機試題3:

輸入一個不包含括號的表達式, 例如:   1225+3*2/4-2+1   .要求計算最終的結果.

注意: 字符串轉int類型:  int a = Integer.parseInt(str);

思路分析:

	(1)輸入的表達式是個字符串類型,要獲取它的每個運算數和運算符需要用到charAt() 方法。然後挨個字符地存入ArrayList,再使用get()方法遍歷字符串。

	(2)四則表達式的運算符分兩種優先級,需遍歷兩次,第一次處理乘法和除法,第二次 處理加法和減法。遇到運算符後將其前後兩個數的運算結果求出,然後使用add()方法將運 算結果插入到前運算數的位置,再連續使用remove()方法將參與此次運算的運算符和兩個運算數移除。最後 ArrayList中只剩一個元素,即爲該表達式的值。使用parseInt()方	法將其格式化後返回。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章