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)定義Circle類、Rectangle類、Square類;
摩爾的Java學習筆記5.1 第四周作業: 1、(抽象類)1)定義shape抽象類,包含求面積和求周長的方法;2)定義Circle類和Rectangle類繼承shape類;3)定義Square類繼承Rectangle類;4)執行時,讓使用者選擇
(java)leetcode561 陣列拆分1(Array 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)(章節:1-2)
書桌上擺著一本一年前就已經買好的書。 從來就沒覺得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-1(2018-5-18 )
python1.模塊初始化1) getpass 模塊程序實例:import getpass_password=‘penny‘_password=‘abc123’passname=input(passname:)password=getpass.getpass("password:")