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.mzph.cn/news/127841.shtml

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

相关文章

Web Woeker和Shared Worker的使用以及案例

文章目录 1、前言2、介绍 Web Worker3、使用须知及兼容性3.1、使用须知3.2、兼容性 4、使用 Web Worker4.1、创建 Web Worker4.2、与主线程通信4.3、终止 Web Worker4.4、监听错误信息 5、使用 Shared Worker4.5、调试 Shared Worker 6、使用中的一些坑6.1、Web Woeker 中引入了…

古老的五子棋

午休忽然想起我奶奶喜欢下的一种古老的五子棋游戏&#xff0c;于是花了半小时开发出来了&#xff5e; 源代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" …

怎么监控钉钉聊天记录内容(监控钉钉聊天记录的3种形式)

企业沟通工具的普及&#xff0c;越来越多的企业开始使用钉钉作为内部沟通工具。然而&#xff0c;对于企业管理者来说&#xff0c;如何监控钉钉聊天记录内容成为了一个重要的问题。本文将介绍几种方法&#xff0c;帮助企业管理者实现监控钉钉聊天记录内容的目的。 一、钉钉自带功…

系列十五、idea全局配置

一、全局Maven配置 IDEA启动页面>Customize>All settings>Build,Execution,Deployment>Build Tools>Maven 二、全局编码配置 IDEA启动页面>Customize>All settings>Editor>File Encodings 三、全局激活DevTools配置 IDEA启动页面>Customize>A…

[迁移学习]DA-DETR基于信息融合的自适应检测模型

原文标题为&#xff1a;DA-DETR: Domain Adaptive Detection Transformer with Information Fusion&#xff1b;发表于CVPR2023 一、概述 本文所描述的模型基于DETR&#xff0c;DETR网络是一种基于Transformer的目标检测网络&#xff0c;详细原理可以参见往期文章&#xff1a;…

如何用PHP获取各大电商平台的数据

PHP获取API数据是指使用PHP语言从web服务中提取数据。API是指应用程序接口&#xff0c;它允许应用程序之间进行交互和通信&#xff0c;并且允许一个应用程序从另一个应用程序获取数据。PHP是一种网站开发语言&#xff0c;它可以使用多种方式来获取API数据。 在PHP中&#xff0…

前端基础之BOM和DOM

目录 一、前戏 window对象 window的子对象 navigator对象&#xff08;了解即可&#xff09; screen对象&#xff08;了解即可&#xff09; history对象&#xff08;了解即可&#xff09; location对象 弹出框 计时相关 二、DOM HTML DOM 树 查找标签 直接查找 间…

Python安装教程

1 安装python环境 1.1 下载python 首先打开http://www.python.org &#xff08;这个是python官网&#xff09;下载配置环境。点击上方 downloads,选择对应的系统的版本就行&#xff0c;这里以windows64系统为例。 点击之后&#xff0c;可以看到很多版本&#xff0c;这里我选择…

创建超过1G内存大小的程序

正常情况一个进程最大占用内存为1G一下&#xff0c;如果程序有需求要使用超过1G大小的程序&#xff0c;可进行如下操作 VS修改设置&#xff1a;属性--->链接器--->系统--->启用大地址 【选择是】 测试申请堆内存代码 #include <stdlib.h> #include <stdio…

在NISQ小型计算机上执行大型并行量子计算的可能性

简介 Steve White提出了密度矩阵重整化群&#xff08;DMRG&#xff09;的基本思想&#xff0c;即纠缠是一种有价值的资源&#xff0c;可以用来精确或近似地描述大量子系统。后来&#xff0c;这一思想被理解为优化矩阵积状态&#xff08;MPS&#xff09;的算法&#xff0c;支持…

21.13 Python 实现端口流量转发

端口流量转发&#xff08;Port Forwarding&#xff09;是一种网络通信技术&#xff0c;用于将特定的网络流量从一个端口或网络地址转发到另一个端口或地址。它在网络中扮演着一个非常重要的角色&#xff0c;在Python语言中实现端口转发非常容易。 如下这段代码实现了一个基本的…

Linux -------------------设置防火墙和SELinux

&#xff08;一&#xff09;防火墙概述 防火墙的概念&#xff1a;防火墙是一种非常重要的网络安全工具&#xff0c;它是网络安全的重要组成部分&#xff0c;用于保护计算机网络免受未经授权的访问、恶意攻击和数据泄漏等威胁等。 防火墙的特点 防火墙通常具备以下几个特点。 …

【C语言】备战校赛Day1

日期:11.1 星期二 L1-001 Hello World 题目描述 这道超级简单的题目没有任何输入。 你只需要在一行中输出著名短句“Hello World!”就可以了。 输入样例: 无 输出样例: Hello World! 解题代码 int main() {printf("Hello World!");return 0; } 该题较为简单,但要注…

基于Tensorflow卷积神经网络玉米病害识别系统(UI界面)

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 Tensorflow是一个流行的机器学习框架&#xff0c;可用于训练和部署各种人工智能模型。玉米病害识别系统基于Tensorf…

[idea]关于idea开发乱码的配置

在JAVA开发中&#xff0c;一般统一设置为UTF-8的编码&#xff0c;包括但不限于开发工具、日志架构、虚拟机、文件编码等。常见配置如下&#xff1a; 1、IDEA工具 在idea64.exe.vmoptions、idea.exe.vmoptions中添加&#xff1a; -Dfile.encodingUTF-8 2、JAVA 运行在window…

chat2db初步使用和体验AI

今天下载chat2db体验了下将主要功能和使用截图总结下&#xff1a; 功能&#xff1a; 1.传统客户端能使用的功能基本都有&#xff0c;并且增加了导出excel等便捷的能力。 2.报表功能&#xff1a; 可以根据查询结果进行对应报表可视化显示 3.AI解析sql 可以根据输入的汉语例如…

开源的网站数据分析统计平台——Matomo

Matomo 文章目录 Matomo前言一、环境准备1. 整体安装流程2.安装PHP 7.3.303.nginx配置4.安装matomo4.1 访问安装页面 http://192.168.10.45:8088/index.php4.2 连接数据库4.3 设置管理员账号4.4 生成js跟踪代码4.5 安装完成4.6 警告修改4.7 刷新页面&#xff0c;就可以看到登陆…

软件测试报告所需周期和费用简析

软件测试报告是在软件开发和测试过程中生成的重要文档之一。它提供了对软件系统经过全面测试后的状态和质量的详细描述&#xff0c;以记录软件测试的过程和结果。 生成一个完整的测试报告需要根据软件项目的规模和复杂性来确定时间。较大规模和复杂的软件项目可能需要更长的时…

【错误解决方案】ModuleNotFoundError: No module named ‘feather‘

1. 错误提示 在python程序中&#xff0c;尝试导入一个名为feather的模块&#xff0c;但Python提示找不到这个模块。 错误提示&#xff1a;ModuleNotFoundError: No module named feather 2. 解决方案 出现这种情况&#xff0c;有可能是因为你还没有安装这个模块&#xff0c;…

Flutter 小技巧之不一样的思路实现炫酷 3D 翻页折叠动画

今天聊一个比较有意思的 Flutter 动画实现&#xff0c;如果需要实现一个如下图的 3D 折叠动画效果&#xff0c;你会选择通过什么方式&#xff1f; 相信可能很多人第一想法就是&#xff1a;在 Dart 里通过矩阵变换配合 Canvas 实现。 因为这个效果其实也算「常见」&#xff0c;…