Java实验二类编程实验

1.编写一个代表三角形的类(Triangle.java)。

其中,三条边a,b,c(数据类型为double类型)为三角形的属性,该类封装有求三角形的面积和周长的方法。分别针对三条边为3、4、5和7、8、9的两个三角形进行测试(给定三条边已经满足三角形构成条件),输出面积和周长保留2位小数。

提示:三角形面积计算公式为 

s = (a+b+c)/2

area = s * (s - a) * (s - b) * (s - c)

输出样例结果如下: 

package step1;import java.lang.Math;
import java.util.Scanner;public class Triangle {double a,b,c;public Triangle(double a, double b, double c) {this.a = a;this.b = b;this.c = c;}public double getArea() {double s = (a + b + c) / 2;return Math.sqrt(s * (s - a) * (s - b) * (s - c));}public double getPerimeter() {return a + b + c;}public static void main(String[] args) {Scanner input =new Scanner(System.in);double a = input.nextDouble();double b = input.nextDouble();double c = input.nextDouble();Triangle t1 = new Triangle(a, b, c);System.out.printf("三角形(%.1f,%.1f,%.1f)的面积为:%.2f\n",t1.a,t1.b,t1.c,t1.getArea());System.out.printf("三角形(%.1f,%.1f,%.1f)的周长为:%.2f",t1.a,t1.b,t1.c,t1.getPerimeter());}}

2.编写一个圆环类(Ring.java)。

圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装,该类封装有求圆环面积、外圆周长和内圆周长的方法。

① 通过构造方法传递内半径5,外半径8,颜色为red,输出测试结果;

② 将内半径改为4,外半径改为6,颜色改为blue后,再次输出测试结果。

③ 所有输出结果要求保留2位小数。

输出样例结果如下:

package step2;import java.lang.Math;public class Ring {double innerRadius, outerRadius;String color;public Ring(double innerRadius, double outerRadius, String color) {this.innerRadius = innerRadius;this.outerRadius = outerRadius;this.color = color;}public double getArea() {return Math.PI * (outerRadius * outerRadius - innerRadius * innerRadius);}public double getInnerPerimeter() {return 2 * Math.PI * innerRadius;}public double getOuterPerimeter() {return 2 * Math.PI * outerRadius;}public void setInnerRadius(double innerRadius){this.innerRadius = innerRadius;}public void setOuterRadius(double outerRadius){this.outerRadius = outerRadius;}public void setColor(String color){this.color = color;}public static void main(String[] args) {Ring ring = new Ring(5, 8, "red");System.out.printf("圆环的内半径: %.1f\n",ring.innerRadius);System.out.printf("圆环的外半径: %.1f\n",ring.outerRadius);System.out.println("圆环的颜色: "+ring.color);System.out.printf("圆环的面积: %.2f\n",ring.getArea());System.out.printf("圆环的外圆周长: %.2f\n",ring.getOuterPerimeter());System.out.printf("圆环的内圆周长: %.2f\n",ring.getInnerPerimeter());System.out.println();ring.setInnerRadius(4);ring.setOuterRadius(6);ring.setColor("blue");System.out.printf("圆环的内半径: %.1f\n",ring.innerRadius);System.out.printf("圆环的外半径: %.1f\n",ring.outerRadius);System.out.println("圆环的颜色: "+ring.color);System.out.printf("圆环的面积: %.2f\n",ring.getArea());System.out.printf("圆环的外圆周长: %.2f\n",ring.getOuterPerimeter());System.out.printf("圆环的内圆周长: %.2f",ring.getInnerPerimeter());}
}

3.编写一个学生类(Student.java),

包含的属性有学号、姓名、年龄。将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赋值,并实现如下操作。 

① 按数组中顺序显示所有学生信息。

② 将所有学生年龄增加1岁。

③ 显示所有年龄大于20岁的学生信息。

输出样例结果如下:

package step3;public class Student {int id;int age;String name;public Student(int id, int age, String name) {this.id = id;this.age = age;this.name = name;}public void increaseAge() {this.age += 1;}public static void main(String[] args) {// 创建并初始化学生数组Student s1 = new Student(1, 18, "小明");Student s2 = new Student(2, 20, "小张");Student s3 = new Student(3, 19, "小李");Student s4 = new Student(4, 18, "小王");Student s5 = new Student(5, 20, "小赵");Student s[] = { s1, s2, s3, s4, s5 }; // 给对象数组赋值System.out.println("班级学生名单如下:");// 显示所有学生信息for (Student student : s) {System.out.println("学号:" + student.id + ",姓名:" + student.name + ",年龄:" + student.age);}// 将所有学生年龄增加1岁System.out.println("所有学生年龄加 1 后...");for (Student student : s) {student.increaseAge();}for (Student student : s) {System.out.println("学号:" + student.id + ",姓名:" + student.name + ",年龄:" + student.age);}// 显示所有年龄大于20岁的学生信息int number = 0;for (Student student : s) {if (student.age > 20) {number++;}}System.out.println("大于 20 岁人数是:" + number);}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/178237.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【精】UML及软件管理工具汇总

目录 1 老七工具(规划质量) 1.1 因果图(鱼骨图、石川图) 1.2 控制图 1.3 流程图:也称过程图 1.4 核查表:又称计数表 1.5 直方图 1.6 帕累托图 1.7 散点图&#xf…

通过USM(U盘魔术大师)在PE环境下使用分区助手拷贝磁盘——无损升级硬盘

这里写自定义目录标题 背景本次使用技术步骤1、添加新硬盘2、添加PE3、开机进入BIOS,进入PE4、开始拷贝磁盘5、调整分区5.1 删除系统盘前的所有分区5.2 修改硬盘分区表格式为GUID5.3 新建引导分区 6、修复引导7、大功告成 背景 由于硬盘空间不够的时候就需要更换硬盘…

CCF_A 计算机视觉顶会CVPR2024投稿指南以及论文模板

目录 CVPR2024官网: CVPR2024投稿链接: CVPR2024 重要时间节点: CVPR2024投稿模板: WORD: LATEX : CVPR2024_AuthorGuidelines CVPR2024投稿Topics: CVPR2024官网: https://cvpr.thecvf.com/Conferences/2024CV…

【设计模式】第7节:创建型模式之“建造者模式”

Builder模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。 在创建对象时,一般可以通过构造函数、set()方法等设置初始化参数,但当参数比较多,或者参数之间有依赖关系,需要进行复杂校验时&a…

Linux进程概念(2)

Linux进程概念(2) 📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容讲解了进程的概念,PCB&am…

【数据结构】树形结构所有路径复原为链表

目录 1. 树形结构可视化 2. 树形结构转为链表 此目标是要还原树形结构的所有路径。树形结构是一种常见的数据结构,它表示元素之间层次关系。在树形结构中,每个节点可能拥有一个或多个子节点,形成了一个分层的结构。为了还原树形结构的路径&…

OpenCV官方教程中文版 —— 图像去噪

OpenCV官方教程中文版 —— 图像去噪 前言一、原理二、OpenCV 中的图像去噪1.cv2.fastNlMeansDenoisingColored()2.cv2.fastNlMeansDenoisingMulti() 前言 目标 • 学习使用非局部平均值去噪算法去除图像中的噪音 • 学习函数 cv2.fastNlMeansDenoising(),cv2.fa…

贝锐向日葵亮相阿里云“云栖大会”:独创专利算法赋能全新云桌面

2023年10月31日-11月2日,一年一度的云栖大会如期举办,国产远程连接服务创领者贝锐受邀参与。活动现场,贝锐CTO张小峰进行了分享,宣布贝锐旗下国民级远程控制品牌“贝锐向日葵”与无影展开合作,同时全新的“云桌面”将于…

后台界面设计都有哪些关键的技巧

在大数据时代,越来越多的设计师接触到背景界面设计。网站的背景是网站数据库和文件的快速操作和管理系统,以便及时更新和调整前台内容。和大多数UI设计一样,背景界面设计也有自己的设计元素和规范。本文将分享和总结背景界面设计的五个关键设…

Lightdb23.4 Client 包含ecpg可执行程序及相关库文件

功能介绍 部分客户在使用Lightdb client绿色包时需要ecpg程序和ecpg相关的头文件和库文件,所以在Lightdb 23.4版本client绿色包中新增了ecpg的程序和相关头文件和库文件,以方便用户的使用。 Client包目录结构 bin目录是可执行程序和脚本,i…

微信聚合聊天系统的便捷功能:自动发圈,跟圈

快到双十一咯,很多商家和自媒体、运营人都在发圈做运营,所以现在发圈的频率也会比以往的多一些,但事情一多就会担心今天的朋友圈忘记发、漏发或者错过发圈的时间导致错过私域里的好友、客户会错过活动时间。 其实这些都是可以不用担心&#…

无需服务器内网穿透Windows下快速搭建个人WEB项目

📑前言 本文主要是windows下内网穿透文章,如果有什么需要改进的地方还请大佬指出⛺️ 参考自:Windows搭建web站点:免费内网穿透发布至公网 🎬作者简介:大家好,我是青衿🥇 ☁️博客首…

day47

今日内容详细 overflow溢出属性 visible 默认值,内容不会被修剪,会呈现在元素框之外 hidden 内容会被修剪,并且其余内容是不可见的 scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余内容 auto 如果内容被修剪&#xff0c…

python之pip常用指令

文章目录 pip show xxx 查看是否安装该 module

再也不用惧怕那些“流氓”软件了!卸载不能卸载软件的方法不少

保持电脑的清洁和整洁至关重要,原因有两个:电脑的健康和幸福,以及你自己。一堆不需要的软件可能会让你的机器陷入困境,变得迟钝,而一个杂乱的桌面也会对你的大脑产生同样的影响。 但清理并不总是那么容易;有时应用程序会留下不需要的痕迹,有时它们会坏掉并拒绝卸载,有…

c++ 实现二叉搜索树

二叉搜索树的概念 二叉搜索树 (BST,Binary Search Tree),也称二叉排序树或二叉查找树。它要么是一颗空树,要么是满足以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值。若它的右子树不为…

消息中间件——RabbitMQ(二)各大主流消息中间件综合对比介绍!

前言 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka&a…

C++引用概述

变量名实质上是一段连续存储空间的别名,是一个标号(门牌号),程序中通过变量来申请并命 名内存空间,通过变量的名字可以使用存储空间。引用是 C中新增加的概念,引用可以看作 一个已定义变量的别名。 引用的语法: Type&…

使用 PyTorch 构建自定义 GPT

一、介绍 介绍大模型,首先考虑一下使用 ChatGPT、Bing Chat 或 Bard 。您是否想过拥有自己的 ChatGPT 会是什么样子?想象一下创建自己的 GPT 模型的兴奋程度。这确实是一种难以置信的感觉! 为了开始构建自定义 GPT 的旅程,让我们仔…

FPGA_状态机工作原理

FPGA_状态机介绍和工作原理 状态机工作原理Mealy 状态机模型Moore 状态机模型状态机描述方式代码格式 总结 状态机工作原理 状态机全称是有限状态机(Finite State Machine、FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学…