PTA--《面線對象程序設計》作業3-繼承與多態

目錄

一:函數題

6-2 長方形長方體類:

6-1 從抽象類shape類擴展出一個圓形類Circle

二:編程題

7-1:周長計算器


?一:函數題

6-2 長方形長方體類:

定義一個長方形類Rectangle,擁有長、寬屬性,提供構造函數,能夠計算周長getPerimeter()和面積getArea()
定義一個子類長方體類,擁有長、寬、高屬性,提供構造函數,getPerimeter函數計算所有邊的周長,getArea函數計算表面積,新增getVolume函數,計算體積
在main函數中,分別構造長方形類和長方體類的對象,并輸出他們的周長、面積、體積,保留兩位小數

裁判測試程序樣例:

import java.util.Scanner;
public class Main{public static void main(String[] args) {Scanner scan = new Scanner(System.in);      double length = scan.nextDouble();double wide = scan.nextDouble();Rectangle r = new Rectangle(length,wide);System.out.printf("%.2f ",r.getPerimeter());System.out.printf("%.2f",r.getArea());
System.out.println();length = scan.nextDouble();wide = scan.nextDouble();double height = scan.nextDouble();Cuboid  c = new Cuboid (length, wide, height);System.out.printf("%.2f ",c.getPerimeter());System.out.printf("%.2f ",c.getArea());System.out.printf("%.2f",c.getVolume());scan.close(); }
}/* 你的代碼被嵌在這里 */

答案代碼:

 class Rectangle{double length;double wide;public Rectangle(double length,double wide){this.length=length;this.wide=wide;}public double getPerimeter(){return (length+wide)*2;}public double getArea(){return (length*wide);}}class Cuboid extends Rectangle{double height;public Cuboid(double length,double wide,double height){super(length,wide);this.height=height;}@Overridepublic double getPerimeter(){return (length+wide+height)*4;}@Overridepublic double getArea(){return (wide*height+height*length+wide*length)*2;}public double getVolume(){return length*wide*height;}
}

6-1 從抽象類shape類擴展出一個圓形類Circle

請從下列的抽象類shape類擴展出一個圓形類Circle,這個類圓形的半徑radius作為私有成員,類中應包含初始化半徑的構造方法

裁判測試樣例:

import java.util.Scanner;
import java.text.DecimalFormat;abstract class shape {// 抽象類/* 抽象方法 求面積 */public abstract double getArea( );/* 抽象方法 求周長 */public abstract double getPerimeter( );
}/* 你提交的代碼將被嵌入到這里 */public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);DecimalFormat d = new DecimalFormat("#.####");// 保留4位小數double r = input.nextDouble( ); shape c = new  Circle(r);System.out.println(d.format(c.getArea()));System.out.println(d.format(c.getPerimeter()));input.close();} 
}

答案代碼:

class Circle extends shape{
private double radius;
public Circle(double radius){
this.radius =radius;
}public double getArea(){
return Math.PI *radius*radius;
}
public double getPerimeter( ) {
return 2*Math.PI*radius;
}
}

二:編程題

7-1:周長計算器

1、定義一個接口 Shape 用于表示圖形,其包含一個 double ?length() 的方法用于求周長。
2、定義三角形類 Triangle 、長方形類 Rectangle 、圓形類Circle分別實現接口 Shape?
3、定義測試類ShapeTest并使用 Shape接口定義變量shape,用其指向不同類形的對象,輸出各種圖形的周長。

提示:
1、計算圓周長時PI取3.14即可;
2、需要判斷能否構成三角形(任意兩個邊的和大于第三邊),不能構成三角形的話周長為0。

答案代碼如下:

import java.util.Scanner;
class Shape{public double length(){return 0.0;}
}
class Triangle extends Shape{private double a;private double b;private double c;Triangle(double a,double b,double c){if(a>0&&b>0&&c>0&&(a+b)>c&&(b+c)>a&&(a+c)>b){this.a=a;this.b=b;this.c=c;}else {this.a=0.0;this.b=0.0;this.c=0.0;  }} public  double  length(){return a+b+c;}}
class Rectangle extends Shape{private double a;private double b;Rectangle(double a,double b){if(a>0&&b>0){this.a=a;this.b=b;}else {this.a=0.0;this.b=0.0;}}public   double  length(){return 2*(a+b);}
}
class Circle extends Shape{private double a;Circle(double a){if(a>0){this.a=a;}else {this.a=0.0;}}public  double  length(){return 2*3.14*a;}
}
public class Main{public  static void main(String[] args){Scanner sc=new Scanner(System.in);
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12852.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12852.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12852.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

定時發圈操作介紹

1、登陸已有的賬號,點擊到"朋友圈"功能 2、選擇要發圈的微信號,編輯發圈的文案內容 3、自定義想要的時間點 4、點擊"立即發送" 5、可進行跟圈

【JavaScript】eval

JavaScript 中的 eval() 是一個全局函數,它接受一個字符串參數,并將其作為 JavaScript 代碼進行解析和執行;如果接收的不是一個字符串,則會將傳入的數據直接返回。 eval 的基本用法: eval() 函數將傳入的字符串參數作為…

深度解析 Spring 源碼:解密AOP切點和通知的實現機制

文章目錄 深度解析 Spring 源碼:解密AOP切點和通知的實現機制一、Spring AOP的基礎知識1.1 AOP的核心概念:切點、通知、切面等1.2 Spring AOP與傳統AOP的區別和優勢 二、深入分析切點和通知的實現2.1 研究 Pointcut 接口及其實現類2.1.1 Pointcut 接口2.…

powershell 防止休眠或屏幕關閉并定時截屏保存

powershell 防止休眠或屏幕關閉 01 前言 因工作需要,需要在用戶的機器上進行操作,有些工作比較耗時、耗CPU,配置也不高,因而就不能用這臺機器同時干太多活,又不能干盯著啥也干不了,但是一段時間不操作&am…

鞏固學習9

show-me-the-code題目001 #做為 Apple Store App 獨立開發者,你要搞限時促銷,為你的應用生成激活碼(或者優惠券),使用 Python 如何生成 200 個激活碼(或者優惠券)? import random a…

延遲隊列有哪些

延遲隊列 與時間相關場景的應用,經常用于延后多少時間執行什么任務。 java 自帶延遲隊列 class Solution {public static void main(String[] args) throws InterruptedException {DelayQueue<DelayMealTask> queue = new DelayQueue<>();DelayMealTask task =…

MySQL存儲過程練習

DDL CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT COMMENT 學號,createDate datetime DEFAULT NULL,userName varchar(20) DEFAULT NULL,pwd varchar(36) DEFAULT NULL,phone varchar(11) DEFAULT NULL,age tinyint(3) unsigned DEFAULT NULL,sex char(2) DEFAU…

數據庫審計系統Yearning使用筆記

一、啟動 1、初始化MySQL 啟動mysql docker run -d --namemysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot mysql:5.7創建數據庫&#xff0c;鏈接數據庫并執行以下創建庫的腳步&#xff0c;注意字符集 create database yearning char set utf8mb42、啟動Yeelabs 需要執行…

CDGA|揭秘移動物聯網數據治理秘訣,輕松提升數據質量,賦能智慧未來

在數字化浪潮洶涌的今天&#xff0c;移動物聯網作為連接物理世界與數字世界的橋梁&#xff0c;其數據治理的重要性日益凸顯。高質量的數據不僅是企業決策的基石&#xff0c;更是推動行業智能化、精細化發展的關鍵。本文將為您揭秘移動物聯網數據治理的技巧&#xff0c;助您輕松…

如何設計實用的ITSM自助服務臺

在現代IT服務管理&#xff08;ITSM&#xff09;領域中&#xff0c;自助服務臺已成為IT運維環境的核心組件。它作為企業內部信息中心與其他部門用戶之間的橋梁&#xff0c;一個以用戶為中心的平臺&#xff0c;更注重用戶的自主性和自助能力&#xff0c;使用戶能夠直接訪問所需的…

微軟宣布GPT-4o模型,可在 Azure OpenAI上使用

5月14日&#xff0c;微軟在官網宣布&#xff0c;OpenAI最新發布的多模態模型GPT-4o&#xff0c;可以在 Azure OpenAI 云服務中使用。 據悉&#xff0c;GPT-4o支持跨文本、視頻、音頻多模態推理&#xff0c;例如&#xff0c;通過GPT-4o打造一個AI助手&#xff0c;用于輔導孩子解…

halcon學習之形狀匹配

算子 create_shape_model&#xff08;&#xff09; 創建一個用于匹配的形狀模型 create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID) 參數 Template&#xff1a; NumLevels&#…

基于NIOS-II軟核流水燈和串口通信實現

文章目錄 一、創建工程二、系統設計1. 在 “component library” 標簽欄中找到 “Nios II Processor” 后點擊 Add2. 在 ”Component Library” 標簽欄中的查找窗口輸入 jtag 找到 ”JTAG UART ”&#xff0c;然后點擊 Add3. 添加片上存儲器 On-Chip Memory(RAM)核4. 查找窗口輸…

做簡單易用的GIS資源管理軟件

在室外資源管理領域&#xff0c;采用基于GIS的解決方案已成為主流趨勢&#xff0c;旨在實現資源的高效利用和管理。GIS技術結合資源對象的規劃、定位和監控&#xff0c;為企業提供全面的管理方案&#xff0c;從而優化資源使用、提高運營效率和降低成本。 然而&#xff0c;許多資…

龍迅LT8911EX LVDS橋接到EDP,支持4K30HZ分辨率

龍迅LT8911EX描述&#xff1a; Lontium LT8911EX是LVDS到eDP轉換器&#xff0c;具有單端口或雙端口可配置的LVDS接收器&#xff0c;有1個時鐘通道和最多8個數據通道&#xff0c;每個數據通道最大運行1.2Gbps&#xff0c;最大輸入帶寬為9.6Gbps。轉換器將輸入LVDS數據去序列化&…

OpenNJet產品體驗:探索無限可能

文章目錄 前言一、OpenNJet是什么&#xff1f;二、OpenNJet特性和優點三、OpenNJet功能規劃四、OpenNJet快速上手五、OpenNJet的使用總結 前言 現代社會網絡高速發展&#xff0c;同時也迎來了互聯網發展的高峰&#xff0c;OpenNJet作為一個基于NGINX的面向互聯網和云原生應用提…

掏心經驗分享,軟考中項0基礎入門篇!

想備考下半年中項&#xff08;系統集成項目管理工程師&#xff09;的朋友&#xff0c;不知道如何了解軟考中項&#xff0c;今天給大家整理一篇關于我自己在備考軟考時的一些考量和踩過的一些坑。&#xff08;無廣&#xff0c;放心看&#xff09; 很多小伙伴總是聽大家說軟考中…

NGM-SLAM:首創融合神經輻射場子圖的3DGS-SLAM,問鼎SOTA!

論文標題&#xff1a; NGM-SLAM: Gaussian Splatting SLAM with Radiance Field Submap 論文作者&#xff1a; Mingrui Li, Jingwei Huang, Lei Sun Aaron, Xuxiang Tian, Tianchen Deng, Hongyu Wang 導讀&#xff1a; 3DGS技術因其性能卓越而備受關注&#xff0c;3DGS-SLA…

uniapp微信小程序通過螢石云接入海康攝像機

需求&#xff1a;在uniapp微信小程序上查看海康威視的攝像機監控視頻和和操作攝像機拍攝方向 在螢石云接入海康攝像機設備&#xff0c;由于不同品牌設備在不同時間段接入方式可能不一致&#xff0c;具體接入方式查看官方文檔或咨詢官方客服。 海康攝像機官方客服熱線&#xf…

stack、queue、priority_queue以及仿函數

我們上次對std中的list進行實現&#xff0c;今天我們要實現stack、queue、priority_queue以及仿函數。 目錄 stack堆堆的框架構造函數push插入pop刪除size()大小empty()判斷空top()取棧頂的元素 queue隊列隊列框架問題&#xff1a; 這里我們為什么用deque? 插入刪除取頭數據取…