天天看點

六道題搞懂JAVA面向對象程式設計一套練習題搞定JAVA基礎

一套練習題搞定JAVA基礎

類型一(整個程式就一個類,這個類沒有成員變量,隻有靜态的成員方法):請編寫一個公共主類 ExamClass,并在該類中實作下列函數:

public static double getSqrt(double x)

功能:求 x 的平方根。

例如:

(1)若 x = 1.0,則傳回值為 1.0

(2)若 x = 9.0,則傳回值為 3.0

(3)若 x = 121,則傳回值為 11.0

(4)若 x = 0.25,則傳回值為 0.5

編寫 main 函數,對實作的功能進行驗證。

類型一(整個程式就一個類,這個類沒有成員變量,隻有靜态的成員方法):請編寫一個公共主類 ExamClass,并在該類中實作下列函數:

public static int sumOdd(int[] a)

功能:将數組 a 中的所有的奇數元素的和求出傳回。

例如:

(1)若 a = {},則結果為 0

(2)若 a = {1},則結果為 1

(3)若 a = {1, -3, 5, -5, 2},則結果為 -2

(4)若 a = {-2, 34, 76, 51, 0},則結果為 51

編寫 main 函數,對實作的功能進行驗證。

類型一(整個程式就一個類,這個類沒有成員變量,隻有靜态的成員方法):請編寫一個公共主類 ExamClass,并在該類中實作下列函數:

public static int[] generateData(int n, int max)

// 功能:随機産生n個絕對值在區間(0,max]中且正負随機的整數。

public static void moveData(int[] data)

// 功能:将data中的負數全部移到數組的左邊,正數全部移到數組的右邊。

編寫 main 函數,對實作的功能進行驗證。

類型二(整個程式有多個類,接口,類和接口之間有繼承和實作的關系,涉及到方法的重載、重寫等用法):請按以下要求編寫程式:

(1) 定義包 exam,并将下面要求實作的類和接口都定義在這個包中。

(2) 定義一個抽象的動物類 Animal,要求如下:

1)一個受保護的 String 類型的成員變量 name(表示動物名稱)。

2)一個受保護的 double 類型的成員變量 weight(表示動物重量)。

3)一個公共的含有兩個參數(String name, double weight)的構造方法,用來給兩個成員變量指派。

(3) 定義一個接口 Flyable,其中含有一個描述如何飛翔的方法:String fly()。

(4) 定義一個抽象的繼承 Animal 類且實作 Flyable 接口的會飛的鳥類 FlyableBird,要求如下:

1) 一個受保護的 boolean 類型的成員變量 migratory(表示是否候鳥)。

2)一個受保護的 double 類型的成員變量 height(表示飛的高度)。

3)一個公共的含有四個參數的構造方法(String name, double weight, boolean migratory, double height),用來給四個成員變量指派。

(5) 定義一個繼承 FlyableBird 類的非抽象的麻雀類 Sparrow,要求如下:

1)一個公共的含有三個參數的構造方法(String name, double weight, double height),實作分别給四個成員變量指派為 name、weight、false、height。

2) 實作 fly 方法,傳回值為:“我是能飛y米高的x。”,其中的 y 是指 height 的值(保留 2 位小數),x 是指 name 的值。

例如:若 height = 10.5,name = “小雀”,則傳回值為:“我是能飛10.50米高的小雀。”

(6) 定義公共主類:ExamClass,并在其中編寫 main 方法,自行驗證程式的正确性。

類型二(整個程式有多個類,接口或抽象類,類和接口(抽象類)之間有繼承和實作的關系,涉及到方法的重載、重寫等用法):

1)定義一個抽象類ClosedFigure類,表示閉合圖形類,它有一個成員變量String shape(表示是哪一種閉合圖形),兩個抽象方法public abstract double area();(表示閉合圖形可計算面積)/ public abstract double perimeter();(表示閉合圖形可計算周長)

2)定義一個非抽象的Oval類,表示橢圓圖形類,它需要繼承ClosedFigure類,它有兩個成員變量double aRadius,double bRadius(分别表示橢圓的長軸和短軸);同時要重寫從父類中繼承的抽象方法,描述具體的求橢圓的面積和周長;一個構造方法初始化長短軸。

3)定義一個非抽象的Rectangle類,表示矩形類,它需要繼承ClosedFigure類,它有兩個成員變量double width,double height(分别表示矩形的長和短);同時要重寫從父類中繼承的抽象方法,描述具體的求矩形的面積和周長;一個構造方法初始化長和寬;

4)定義主類ExamClass類,把主方法定義在這個類中,建立Oval和Rectangle對象測試一下。

類型三(視窗程式設計,涉及到視窗的建立、元件變量名的更改、屬性的設定,事件響應等操作):建立一個繼承自 JFrame 的窗體類 ExamClass,實作下列操作:

(1)視窗标題為“文字轉移”,首選尺寸(preferredSize)為 [450, 200];

(2)添加一個菜單欄,菜單欄上放置一個菜單,顯示文本為“檔案”,變量名為“JMenuFile”;

(3)在檔案菜單中添加兩個菜單項:

1)第一個顯示文本為“打開”,變量名為“jMenuItemOpen”;

2)第二個顯示文本為“退出”,變量名為“jMenuItemExit”;

(4)添加第一個文本字段,命名為“jTextFieldFrom”;

(5)添加第二個文本字段,命名為“jTextFieldTo”,背景為藍色,前景為黃色,不能編輯;

(6)添加一個按鈕,顯示文本為“轉移”,變量名為“jButtonMove”;

(7)分别給變量 jTextFieldFrom、jTextFieldTo、jButtonMove 添加 get 函數,内容如下;

public JButton getjButtonMove() {

return jButtonMove;

}

public JTextField getjTextFieldFrom() {

return jTextFieldFrom;

}

public JTextField getjTextFieldTo() {

return jTextFieldTo;

}

(8)給按鈕 jButtonMove 添加監聽 Action 事件的處理函數,功能是把 jTextFieldFrom 中輸入的文字轉移到 jTextFieldTo 中,并且将jTextFieldFrom中的内容置為空。