JAVA面向物件程式設計題
1、定義長方形類,含:
屬性:寬、高(整型);
方法:求周長、面積;
構造方法3個:(1)無參——寬、高預設值為1;(2)1個引數——寬、高均為引數值;(3)2個引數——寬、高各為引數值。
要求:進行測試。
程式碼如下:
長方形的類:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | package Test1; public class Rectangle { //定義長寬屬性 private int iWidth; private int iHeight; //構造器1 public Rectangle(){ this .iHeight = 1 ; this .iWidth = 1 ; } //構造器2 public Rectangle( int iIndex){ this .iWidth = iIndex; this .iHeight = iIndex; } //構造器3 public Rectangle( int iWidth, int iHeight){ this .iHeight = iHeight; this .iWidth = iWidth; } //求周長 public int getLength(){ return 2 *( this .iHeight+ this .iWidth); } //求面積 public int getSquare(){ return this .iHeight* this .iWidth; } } 測試類: package Test1; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Rectangle oRec1 = new Rectangle(); System.out.println( "預設長方形的周長為:" +oRec1.getLength()); System.out.println( "預設長方形的面積為:" +oRec1.getSquare()); Rectangle oRec2 = new Rectangle( 2 ); System.out.println( "一個引數長方形的周長為:" +oRec2.getLength()); System.out.println( "一個引數長方形的面積為:" +oRec2.getSquare()); Rectangle oRec3 = new Rectangle( 2 , 3 ); System.out.println( "兩個引數長方形的周長為:" +oRec3.getLength()); System.out.println( "兩個引數長方形的面積為:" +oRec3.getSquare()); } } |
執行結果:
預設長方形的周長為:4
預設長方形的面積為:1
一個引數長方形的周長為:8
一個引數長方形的面積為:4
兩個引數長方形的周長為:10
兩個引數長方形的面積為:6
2、定義圓類,它有一個變數radius(半徑)。從鍵盤輸入資料,通過構造方法傳遞給radius,程式設計計算並輸出圓的周長和麵積(確保輸入的資料不為負數)。
要求:進行測試。
程式碼如下:
圓的類:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | package Test2; public class Circle { private double radius; public Circle( double dRadius){ this .radius = dRadius; } public double getLength(){ return 2 *Math.PI* this .radius; } public double getArea() { return Math.PI* this .radius* this .radius; } } 測試類: package Test2; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double iRadius; Scanner sc = new Scanner(System.in); System.out.print( "請輸入圓的半徑:" ); iRadius = sc.nextDouble(); if (iRadius < 0 ){ System.out.println( "你輸入的半徑有誤!" ); } else { Circle oCir = new Circle(iRadius); System.out.println( "圓的周長為:" +oCir.getLength()); System.out.println( "圓的面積為:" +oCir.getArea()); } } } |
執行結果:
正數時:
請輸入圓的半徑:1
圓的周長為:6.283185307179586
圓的面積為:3.141592653589793
負數時:
請輸入圓的半徑:-1
你輸入的半徑有誤!
3、定義長方體類,定義求底面積、體積的方法。(可利用上述定義的長方形類)
要求:進行測試。
程式碼如下:
長方體類:
1234567891011121314151617181920212223242526272829303132333435363738394041 | package Test3; import Test1.Rectangle; public class RecV extends Rectangle{ int iLong; public RecV( int iWidth, int iHeight, int iLong){ super (iWidth,iHeight); this .iLong = iLong; } public int getBtmArea(){ return this .getSquare(); } public int getVolume(){ return this .getSquare()* this .iLong; } } 測試類: package Test3; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub RecV oRecV = new RecV( 1 , 2 , 3 ); System.out.println( "長方體的底面積為:" +oRecV.getBtmArea()); System.out.println( "長方體的體積為:" +oRecV.getVolume()); } } |
執行結果:
長方體的底面積為:2
長方體的體積為:6
4、定義球類,定義求體積的方法。(可利用上述定義的圓類)
要求:進行測試。
程式碼如下:
球的類:
123456789101112131415161718192021222324252627282930 | package Test4; import Test2.Circle; public class Bool extends Circle{ public Bool( double dRadius) { super (dRadius); // TODO Auto-generated constructor stub } public double getBoolVolume(){ return ( 4 / 3 )*Math.PI*Math.pow( this .radius, 3.0 ); } } 測試類: package Test4; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Bool oBool = new Bool( 1 ); System.out.println( "球的體積為:" +oBool.getBoolVolume()); } } |
執行結果:
球的體積為:3.141592653589793
5、定義一個計算器類,包括加、減、乘、除運算。
要求:進行測試。
程式碼如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | package Test5; public class Calculator { private int iFirstNum; private int iSecondNum; public Calculator( int iFirst, int iSecond){ this .iFirstNum = iFirst; this .iSecondNum = iSecond; } public int getAdd(){ return this .iFirstNum + this .iSecondNum; } public int getSub(){ return this .iFirstNum - this .iSecondNum; } public int getMul(){ return this .iFirstNum * this .iSecondNum; } public void getDev(){ if ( this .iSecondNum == 0 ){ System.out.print( "分子不能為零!" ); } else { System.out.print( this .iFirstNum/ this .iSecondNum); } } } 測試類: package Test5; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Calculator oCal = new Calculator( 4 , 2 ); System.out.println( "兩數之和為 :" +oCal.getAdd()); System.out.println( "兩數之差為:" +oCal.getSub()); System.out.println( "兩數之積為:" +oCal.getMul()); System.out.print( "兩數之商為:" ); oCal.getDev(); } } |
執行結果:
兩數之和為 :6
兩數之差為:2
兩數之積為:8
兩數之商為:2
7、編寫程式使用複數類Complex驗證兩個複數 2+2i 和3+3i 相加產生一個新的複數5+5i 。複數類Complex滿足如下要求:
(1)屬性:RealPart : int型,代表複數的實數部分;ImaginPart : int型,代表複數的虛數部分
(2)方法:
Complex( ) : 構造方法,將複數的實部和虛部都置0
Complex( int r , int i ) : 構造方法,形參 r 為實部的初值,i為虛部的初值。
Complex complexAdd(Complex a) : 將當前複數物件與形參複數物件相加,所得的結果仍是一個複數值,返回給此方法的呼叫者。
String toString( ) : 把當前複數物件的實部、虛部組合成 a+bi 的字串形式,其中a 和 b分別為實部和虛部的資料。
(3)進行測試。
程式碼如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | package Test7; public class Complex { private int iRealPart; private int iImaginPart; public Complex(){ iRealPart = 0 ; iImaginPart = 0 ; } public Complex( int r, int i){ iRealPart = r; iImaginPart = i; } public Complex complexAdd( Complex a ){ this .iRealPart += a.iRealPart; this .iImaginPart += a.iImaginPart; return this ; } public String toString(){ return this .iRealPart+ "+" + this .iImaginPart+ "i" ; } } 測試類: package Test7; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //複數例項化 Complex oFirstNum = new Complex(); Complex oFirstNum1 = new Complex( 2 , 3 ); Complex oSecondNum = new Complex( 3 , 4 ); oFirstNum.complexAdd(oSecondNum); System.out.println( "1。複數之和為:" +oFirstNum.toString()); oFirstNum1.complexAdd(oSecondNum); System.out.println( "2.複數之和為:" +oFirstNum1.toString()); } } |
執行結果:
1。複數之和為:3+4i
2.複數之和為:5+7i
8、試編寫Java程式碼實現一個計數器類Computer其中包括:
域value :用來儲存計數器的當前值;
方法increment(): 計數器加一;
方法decrement() :計數器減一;
方法reset():計數器清零。
請編寫並除錯程式。
程式碼如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | package Test8; public class Computer { private int value; public Computer(){ this .value = 0 ; } public void increment(){ this .value++; } public void decrement(){ this .value--; } public void reset(){ this .value = 0 ; } public int getValue(){ return this .value; } } 測試類: package Test8; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Computer oCount = new Computer(); System.out.println( "計數器的初始值為:" + oCount.getValue()); oCount.increment(); oCount.increment(); oCount.increment(); System.out.println( "加三後的值為:" + oCount.getValue()); oCount.decrement(); System.out.println( "減一後的值為:" + oCount.getValue()); oCount.reset(); System.out.println( "初始化後的值為:" + oCount.getValue()); } } |
執行結果:
計數器的初始值為:0
加三後的值為:3
減一後的值為:2
初始化後的值為:0
相關推薦
JAVA面向物件程式設計題
1、定義長方形類,含: 屬性:寬、高(整型); 方法:求周長、面積; 構造方法3個:(1)無參——寬、高預設值為1;(2)1個引數——寬、高均為引數值;(3)2個引數——寬、高各為引數值。 要求:進行測試。程式碼如下:長方形的類:123456789101112131415161718192021222
3.Java面向物件程式設計OOA/OOP/OOD/OOAD()/UML類圖、函數語言程式設計Scala(JVM)---類與物件、封裝繼承多型、構造方法、覆寫/重寫/override
一、緒論 1.面向物件程式設計正規化(C++、Java、Go)------能進行現實生活的抽象。 每個物件都是一個類。類中包含屬性與方法。 OOA:面向物件分析 OOP:面向物件程式設計
JAVA面向物件程式設計之購物車介面的設計與功能的實現
1、小組成員及分工 小組成員 負責工作 蘭澤祥 負責總體介面、Git程式碼庫 吳修恩 負責MVC模式、類名包名的規範化 2、Git 倉庫地址 倉庫地址:https://gitee
Java 面向物件程式設計之多型
轉自:chenssy java提高篇之理解java的三大特性——多型 封裝隱藏了類的內部實現機制,可以在不影響使用的情況下改變類的內部結構,同時也保護了資料。對外界而已它的內部細節是隱藏的,暴露給外界的只是它的訪問方法。 繼承是為了重用父類程式碼。兩個類若存在IS-A的關係就可以使用
Java面向物件程式設計之類和物件
Java程式語言是一種面向物件的程式語言,其特性在於高度的抽象性。那麼,什麼是面向物件呢?面向物件和麵向過程有什麼區別呢?萬物可歸類,什麼是類呢?萬物皆物件,類和物件之間的聯絡是什麼?Java程式的執行需要jvm(Java虛擬機器)的支援,那麼,面向物件程式設計在計算機中怎麼進行記憶體分析;
Java 面向物件程式設計引言
*Java面向物件程式設計是Java語言的核心,Java語言就是面向物件的程式語言,在整個Java語言程式設計過程中,都會涉及到Java程式設計思想,即面向物件思想, 類和物件是 Java 程式的構成核心。圍繞著 Java 類和 Java 物件,有三大基本特性:封裝是 Java 類的編寫規範
Java 面向物件程式設計之四個關鍵字
this,super,static,final是四個常見的類的關鍵字,怎麼樣來描述類的屬性和行為? 如果一個類從另外一個類繼承,我們new這個子類的例項物件的時候,這個子類物件裡面會有一個父類物件。怎麼去引用裡面的父類物件呢?使用super來引用,this指的是當前物件的引用,super是當
Java 面向物件程式設計之介面內部類
介面,內部類,抽象類本質上也是類,是抽象的抽象類,這三種類有各自的特點。 1. 抽象類、 設計與實現的分開 抽象類:定義了抽象方法的類,不能例項化,只能被子類實現 , 用關鍵字abstract修飾。 抽象方法:只定義了方法體,沒有定義內容。 作用:為所有子類建立一
Java面向物件程式設計之三大特性
Java面向物件程式設計作為一種程式設計思想,有三大特性,封裝,繼承,多型。對於一個類而言, 如何封裝 呢?繼承是父類和子類的關係, 繼承關係如何實現的呢?父類和子類繼承時的方法體是怎麼樣的關係呢?多型是多個類之間的關係,類有不同的行為和屬性,其他類也有這樣的方法和屬性,就實現了多型的關係,
java面向物件程式設計以及陣列理解
一、語言的進化史 在計算機語言發展的早期,由於cpu和記憶體的限制,導致說發展很慢。後來由於硬體裝置的革命(即cpu價格的下跌和記憶體數量和容量的上升,記憶體的價格的下跌)和資金的推動(資本家為了提高勞動生產率和剩餘價值),計算機語言開始了高速的進化,從一開始的基本型別到結
java 面向物件程式設計
一直對面向物件程式設計的概念較模糊,今天認真理了一遍,按要求寫了容易理解的小程式模板(PS:內容不重要,關鍵是面向物件的思想,層次等。) 1. 要求 要求此人類必須包含有人的姓名、性別、出生日期等基本屬性(變數)。 要求此人類描述吃飯的方法(函式)和描述睡覺的
JAVA 面向物件程式設計練習(一個回合制的戰鬥遊戲:戰士,騎兵,法師,電腦互相攻擊)
一. 小編有話說 前面一篇文章寫了JAVA面向物件程式設計的思想,本文主要展示關於面向物件程式設計的例項(一個回合制的戰鬥遊戲:戰士,騎兵,法師,電腦互相攻擊),小編的基礎暫時薄弱,如此一來有助於更深入的理解和靈活的運用,以及打下堅實的基礎。 二. 遊戲的要求
JAVA面向物件程式設計基礎
方法: 1、類似函式 public class Demo { int sum() { return 1+1; } public static void main(String[] args) {
JAVA面向物件程式設計——描述一個人類(有姓名、年齡、生日等屬性),並繼承出子類
前言: 面向物件這個概念在很多語言中都有接觸過,尤其在c++中這個概念就是整個語言的核心。那什麼是面向物件?也許我們對它都有個似懂非懂的概念,但無法完全清晰的理解。本文先大概描述面向物件的概念,再通過一個例子來和大家一起認識學習java面向物件。 一、面向
Java面向物件程式設計思想(一)
宣告:學基礎,在校學生,本文所有內容來自純書本,然後通過自己的理解和參考編寫而來,如有說的不對的地方,歡迎評論指錯!(僅做學習交流) 類和物件的建立 類的建立:(public private protected)+ class + 類名 { <類
Java-面向物件程式設計-三大特性之多型
我們前面已經介紹了面向物件程式設計的三大特性之二,今天就介紹最後一個特性-多型。 什麼叫多型?從字面上理解就是多種形態,即對同一個客體,可以有多種不同的形式。就好像糖一樣,有多種口味,你想吃什麼口味的就可以吃什麼口味。但在程式中,卻不是你想要怎樣就怎樣。更多的
Java面向物件程式設計 java實驗報告第三個
1. RunYear.java 輸出1900到2000年之間的所有潤年 public class RunYear { public static void main(String[] arg
Java面向物件程式設計 實驗報告
一、實驗目的:1. 理解 Java 語言是如何體現面向物件程式設計基本思想的;2. 掌握類的宣告以及物件的建立;3. 瞭解類的成員變數和成員方法的特性以及類的構造方法的使用。二、實驗環境:一臺配置有java環境,裝有eclipse的電腦。三、實驗內容:(寫出主要的內容)(一)
實驗二:Java面向物件程式設計
實驗二 Java面向物件程式設計 目錄 [一、單元測試和TDD](#first) [任務一:實現百分制成績轉成“優、良、中、及格、不及格”五級製成績的功能](#firstTask) [任務二:以TDD的方式研究學習StringBuffer](#SecondTask)
java面向物件程式設計的六大基本原則
1.開閉原則(Open Close Principle) 定義:一個軟體實體如類、模組和函式應該對擴充套件開放,對修改關閉。 開放-封閉原則的意思就是說,你設計的時候,時刻要考慮,儘量讓這個類是足夠好,寫好了就不要去修改了,如果新需求來,我們增加一些類就完事了,原來的