1. 程式人生 > >5.1(介面)1)定義shape介面,包含求面積和求周長的方法;2)定義Circle類、Rectangle類、Square類;

5.1(介面)1)定義shape介面,包含求面積和求周長的方法;2)定義Circle類、Rectangle類、Square類;

摩爾的Java學習筆記5.1

第四周作業:

1、(抽象類)1)定義shape抽象類,包含求面積和求周長的方法;2)定義Circle類和Rectangle類繼承shape類;3)定義Square類繼承Rectangle類;4)執行時,讓使用者選擇輸入圖形的種類,然後輸入相應資料,求出該圖形的面積和周長;
2、(陣列)課程管理每學期都要開設多門課程,每門課程的資訊包括課程名稱、是否是必修課、授課教師、學時、學分;程式設計實現對課程資訊進行建立、新增、刪除、修改和查詢操作;可以按課程名、是否是必修課、授課教師來進行查詢;修改或刪除之前要先查詢;

第五週作業:

3、(介面)1)定義shape介面,包含求面積和求周長的方法;2)定義Circle類、Rectangle類、Square類;3)要求Circle類和Rectangle類實現shape介面,Square類繼承Rectangle類;4)執行時,讓使用者選擇輸入什麼圖形,然後輸入相應資料,求出該圖形的面積和周長;
4、(向量)課程管理 每學期都要開設多門課程,每門課程的資訊包括課程名稱、是否是必修課、授課教師、學時、學分;程式設計實現對課程資訊進行建立、新增、刪除、修改和查詢操作;可以按課程名、是否是必修課、授課教師來進行查詢;修改或刪除之前要先查詢。

(介面)1)定義shape介面,包含求面積和求周長的方法;2)定義Circle類、Rectangle類、Square類;3)要求Circle類和Rectangle類實現shape介面,Square類繼承Rectangle類;4)執行時,讓使用者選擇輸入什麼圖形,然後輸入相應資料,求出該圖形的面積和周長;

/**
 * @author 薛蓮婷
 *定義shape介面,包含求面積和求周長的方法;定義Circle類、Rectangle類、Square類;
 *要求Circle類和Rectangle類實現shape介面,Square類繼承Rectangle類;
 *執行時,讓使用者選擇輸入什麼圖形,然後輸入相應資料,求出該圖形的面積和周長
 */
import java.util.*; //Shape介面 interface Shape{ float getArea(); //求面積 float getCircumference(); //求周長 } //Circle類 class Circle implements Shape{ private final float PI=3.14f; private float radius; Circle(){} //Circle類構造方法
Circle(float r){ radius=r; } public float getArea(){ //Circle類求面積 return PI*radius*radius; } public float getCircumference(){ //Circle類求周長 return 2*PI*radius; } } //Rectangle類 class Rectangle implements Shape{ private float width; private float height; Rectangle(){} //Rectangle類構造方法 Rectangle(float width,float height){ this.width=width; this.height=height; } public float getArea(){ //Rectangle類求面積 return width*height; } public float getCircumference(){ //Rectangle類求周長 return 2*(width+height); } } //Square類,繼承Rectangle類 class Square extends Rectangle{ Square(){} //Square類構造方法 Square(float length){ super(length,length); } } class ShapeInterface { public static void main(String[] args) { Scanner sc=new Scanner(System.in); Shape shape=null; //得寫“null”,不然輸出句會顯示說shape:“The local variable shape may not have been initialized”,它是考慮到else中沒有初始化shape物件,雖然從我們的邏輯上看在執行中是不會有這樣的問題的…… int y; do{ y=0; System.out.println("請選擇輸入的圖形:1、圓形,2、矩形,3、正方形:"); int x=sc.nextInt(); //圓形 if(x==1){ System.out.println("請輸入圓形的半徑:"); float radius=sc.nextFloat(); shape=new Circle(radius); } //矩形 else if(x==2){ System.out.println("請輸入矩形的長和寬,以空格相隔:"); float width=sc.nextFloat(); float height=sc.nextFloat(); shape=new Rectangle(width,height); } //正方形 else if(x==3){ System.out.println("請輸入正方形的邊長:"); float length=sc.nextFloat(); shape=new Square(length); } //輸入錯誤 else{ y=1; System.out.println("輸入錯誤,請重新輸入:"); } } while(y==1); System.out.println("面積:"+shape.getArea()+"\t\t周長:"+shape.getCircumference()); sc.close(); } }

相關推薦

5.1介面1定義shape介面,包含面積周長方法2定義CircleRectangleSquare

摩爾的Java學習筆記5.1 第四周作業: 1、(抽象類)1)定義shape抽象類,包含求面積和求周長的方法;2)定義Circle類和Rectangle類繼承shape類;3)定義Square類繼承Rectangle類;4)執行時,讓使用者選擇

javaleetcode561 陣列拆分1Array Partition 1

題目描述: 給定長度為 2n 的陣列, 你的任務是將這些數分成 n 對, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得從1 到 n 的 min(ai, bi) 總和最大。 示例: 輸入: [1,4,

python3 學習1搜尋關鍵字爬取一頁word格式的百度文庫並下載成文字

#coding: utf-8 from bs4 import BeautifulSoup # -*- coding: UTF-8 -*- from selenium import webdriver  import time browser = webdriver.Chrome

Jakara Struts 程式設計 讀書筆記(1)章節:12

    書桌上擺著一本一年前就已經買好的書。 從來就沒覺得web技術有多複雜,無非是架構在http協議上的一種使用者和伺服器之間互動的技術而已,不過最近拿起來這本書看了看,才發現這裡面還是講了不少好東西,不僅僅是web上的,還有一些討論設計架構的知識。     言歸正傳,書中

控制層跳轉:1調用別人接口2指定頁面

clas pin except ring void .get string 指定 test RESTFul 接口中調用重定向到指定 url @RequestMapping(value = "sso", method = RequestMethod.GET)

2017 ACM-ICPC 亞洲區南寧賽區網絡賽 Overlapping Rectangles 矩形並面積

flag 博客 details acm-icpc printf fin return define sdn Overlapping Rectangles 題意:求 n 個矩形並面積和 tags:掃描線+線段樹,模板題 參考博客 #include<bits/

【轉】Red5流服務器搭建實現在線直播,流媒體視頻播放在線視頻會議

htm tps 實現 gho 共享 麥克風 一個 編碼工具 localhost 來自:http://blog.csdn.net/sunroyi666/article/details/52981639 一. 先介紹一下流媒體技術:所謂流媒體技術,是指將連續的影像和聲音信息經過

Unity NavMesh尋路檢測的bug或者特性,爬坡卡住問題。(角色高度網格高度不一致造成

Unity專案,由於人物移動時一般用搖桿或者方向鍵控制, 需要有八方向方式控制朝向,  所以沒有用 NavMesh Agent, 而是自己控制人物方向移動,然後貼合地面。 用了NavMesh.CalculatePath只是用於目標點的尋路, 尋找出路經後自己計算實現移動。

線段樹掃描線總結,面積周長hdu1542,poj1177

這兩天學了掃描線相關內容,特來總結一下: 求面積: 假設是從下往上掃描 (1)離散橫座標 (2)對陣列由高度從小到大排序 (3)對每一條橫線都進行更新,sum[1]表示的是區間橫座標覆蓋的長度,比如說離散化後更新[1,4]區間,實際上呼叫的是update(1,3),這裡是因為我們

tensorflow模型的儲存與恢復tf.train.Saver()saver.restore()方法的運用

注意: 在tensorflow中,一旦有涉及到檔案路徑的相關操作,請確保檔案路徑上所有目錄名為英文!!!!否則可能會出現奇怪的錯誤!! TensorFlow模型的儲存與恢復(使用tf.train.Saver()和saver.restore()): 首先我們需要建立一個用來儲存模型的物

征服C指標筆記原著《征服C指標》作者:前橋彌 吳雅明 譯

以下程式碼及其註釋  均為 自己手敲,並在notpad++ 上執行測試沒問題的。使用notepad++ 編譯需要安裝外掛MinGW ,並且設定環境變數。 Notepad++ 下載地址:   使用的外掛MinGW(綠色版,免安裝)下載地址: 安裝教程見:

AndroidPad設定只支援三個方向旋轉正方向豎屏0度方向,90度270度橫屏方向

開發過程中遇到此效果,在此記錄,手機預設狀態下只只支援這三個方向的旋轉,而平板支援4個方向可以旋轉。現在實現平板和手機一樣只支援三個方向。程式碼如下:1.自定義監聽extends OrientationEventListenerpackage com.yhy.myapplic

二叉樹的四種遍歷方式:遞迴非遞迴+棧Morris後序非遞迴還有一種單棧雙棧的不同版本

本文參考: 參考文章1 參考文章2 程式碼中加入了一些自己的理解 /* 二叉樹的四種遍歷方式 */ #include <iostream> #include <stack> using namespace std; // 二叉樹

圖形的派生與繼承面積周長

圖形基類 TuXing.h檔案 #pragma once #include<iostream> #include<algorithm> #include<stdio.

寫一個程式,定義抽象基Shape,由它派生出3個派生: Circle(圓形)Rectangle(矩形)Triangle(三角形)

 寫一個程式,定義抽象基類Shape,由它派生出3個派生類: Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函式printArea分別輸出以上三者的面積,3個圖形的資料在定義物件時給定。 #include<iostream> usi

C++中定義一個圖形基,然後派生正方形矩形等面積周長

定義類的標頭檔案Shape.h#ifndef __SHAPE_H #define __SHAPE_H #include <iostream> using namespace std; class Shape { public: Shape(); ~Shap

[基礎題] 5*按如下要求編寫Java應用程式:1編寫一個用於表示戰鬥能力的介面Fightable,

/*5.(*)按如下要求編寫Java應用程式: (1)編寫一個用於表示戰鬥能力的介面Fightable, 該介面包含:整型常量MAX; 方法void win(),用於描述戰鬥者獲勝後的行為; 方法int injure(int x),用於描述戰鬥者受傷後的行為。 (2)編寫一

ArcGIS Enterprise 10.5.1 靜默安裝部署記錄Centos 7.2 minimal版- 1安裝前準備

計算機 boot thread connect conf 1.8 div 導入 top 安裝前準備 上傳文件到服務器,x-ftp xshell登陸Centos 檢查機器名 修改機器名為:portal.cloud.local 方法一:零時設置,重啟後失效,

作業: 1.8圓的面積周長編寫程序,使用以下的公式計算並顯示半徑為5.5的圓的面積周長

http string oid ren png ble -1 args 技術 public class Demo_1 { public static void main(String[] args) { double

python的學習筆記/002-12018-5-18

python1.模塊初始化1) getpass 模塊程序實例:import getpass_password=‘penny‘_password=‘abc123’passname=input(passname:)password=getpass.getpass("password:")