刷题DAY7
三角形面积
题目:已知三角形的边长a,b和从、,求其面积
输入:输入三个实数a,b,c,表示三边长
输出:输出面积,保留三位小数
输入:1
2
2.5
输出:0.950
import java.util.Scanner; public class 求三角形面积 {public static void main(String[] args) {System.out.println("请输入你的第一数");double z =new Scanner(System.in).nextDouble();double sideA = z;System.out.println("请输入你的第二数");double y=new Scanner(System.in).nextDouble();double sideB = y;System.out.println("请输入你的第三数");double h =new Scanner(System.in).nextDouble();double sideC = h; double area = getTriangleArea(sideA, sideB, sideC);System.out.println("三角形面积:" + String.format("%.3f", area));} public static double getTriangleArea(double a, double b, double c) {double s = (a + b + c) / 2;return Math.sqrt(s * (s - a) * (s - b) * (s - c));} }
知识点
1.String.format
用于创建格式化的字符串以及连接多个字符串对象
// 使用当前本地区域对象(Locale.getDefault()),制定字符串格式和参数生成格式化的字符串 String String.format(String fmt, Object... args);
// 自定义本地区域对象,制定字符串格式和参数生成格式化的字符串 String String.format(Locale locale, String fmt, Object... args);
2.getTriangleArea
这是计算三角形面积的公式
3.重载(overload)
有相同的方法名称,但形参不同的方法
目的就是为了会更加方便程序的可用性
满足条件:
-
参数列表必须改变
-
返回类型可以改变
-
实现过程可以改变
-
异常声明可以改变
-
访问限制可以改变
总的来说外壳必须改变,内核可以改变
public class Overload {public static void print(Integer a) {// 当传入参数的类型为Integer时,JVM会调用这个方法System.out.println("传入参数为Integer类型");}public static void print(String s) {// 当传入参数的类型为String时,JVM会调用这个方法System.out.println("传入参数为String类型");}public static void main(String[] args) {Overload.print(1); // Output:传入参数为Integer类型Overload.print("1"); // Output:传入参数为String类型} }
4.重写(override)
是指子类重新实现父类中已有的方法,此方法可使用 @Override 注解来标记(非强制)。
子类的方法必须与父类被重写的方法具有相同的名称、返回类型和参数列表。
重写不代表子类再也无法调用父类中被重写的方法,子类仍可以通过super关键字进行调用
满足条件:
-
参数列表不能改变
-
返回类型可以被为重写方法的派生类
-
实现过程可以改变
-
异常声明不能比父类更加广泛
-
访问限制不能比符类更加严格
-
final修饰的方法不可重写
-
static修饰的方法不可重写,但能重新声明
-
构造方法不可重写
-
父类无法被子类访问1的方法不可重写
总的来说外壳(几乎)不能改变,内核可以改变
class Animal {public static void move() { // static 修饰,不可被重写System.out.println("动物移动");}public void bark() { // 被重写方法System.out.println("动物叫");} }class Dog extends Animal {// @Override // 错误的重写,添加注解则编译器报错public static void move() { // 重新声明,并非重写System.out.println("狗跑");}@Override // 重写注解public void bark() { // 重写方法System.out.println("狗吠");} }public class Test {public static void main(String[] args) {Animal animal = new Animal();Dog dog = new Dog();Animal.move(); // Output:动物移动Dog.move(); // Output:狗跑animal.bark(); // Output: 动物叫dog.bark(); // Output: 狗吠} }
5.继承
是指再原有类的基础上,进行功能的拓展,创建新的类型
本质是对某一批类的抽象,从而实现对现实世界的更好建模
在Java中继承只有单继承没有多继承
继承是类和类之间的一种关系(除此之外,类和类之间的关系有依赖,组合,聚合等)
继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends(拓展)来调用
格式:
public class 子类名(Zi) extends 父类名(Fu){}
public class Zi extends Fu{}
子类可以有父类的内容,也可以有自己特有的内容
// 父类 public class Person {//public 公共的public int money = 1_0000_0000;public void say(){System.out.println("说话");}}
//student is person //Teacher student也叫派生类或者子类 //子类可以继承父类的所有方法 public class Student extends Person{}
访问特点:先访问子类在子类中寻找,没有再再父类中寻找,没有就报错,不在考虑父类的父类。
super
代表父类存储空间的标识(可以理解为父类对象引用)与this(本类对象的引用(指向该方法的对象 一般我们是在当前类中使用this关键字所以我们常说this代表本类对象的引用))相似
关键字 | 访问成员变量 | 访问构造方法 | 访问成员方法 |
---|---|---|---|
this | this.成员变量访问本类成员变量 | this(...)访问本类构造方法 | this.成员方法(...)访问本类成员方法 |
super | super.成员变量访问父类成员变量 | super(...)访问父类构造方法 | super,成员方法(...)访问父类成员方法 |
public class Fu {public int age = 10;}
public class Zi extends Fu {public int age = 20;public void show() {int age = 30;System.out.println(age); // 30// 访问本类中的成员变量ageSystem.out.println(this.age);// 访问Fu类中的成员变量ageSystem.out.println(super.age);} }
相关文章:

刷题DAY7
三角形面积 题目:已知三角形的边长a,b和从、,求其面积 输入:输入三个实数a,b,c,表示三边长 输出:输出面积,保留三位小数 输入:1 2 2.5 输出࿱…...

离线数据开发流程小案例-图书馆业务数据
参考 https://blog.csdn.net/m53931422/article/details/103633452 https://www.cnblogs.com/jasonlam/p/7928179.html https://cwiki.apache.org/confluence/display/Hive/LanguageManualUDF https://medium.com/jackgoettle23/building-a-hive-user-defined-function-f6abe9…...
GPT-5:未来已来,你准备好了吗
GPT-5:未来已来,你准备好了吗? 在人工智能的浩瀚星空中,自然语言处理(NLP)技术如同璀璨星辰,不断引领着技术革新的浪潮。而在这股浪潮中,OpenAI的GPT(Generative Pre-tr…...
白骑士的Matlab教学高级篇 3.2 并行计算
系列目录 上一篇:白骑士的Matlab教学高级篇 3.1 高级编程技术 并行计算是一种通过同时执行多个计算任务来加速程序运行的方法。在MATLAB中,并行计算工具箱(Parallel Computing Toolbox)提供了丰富的并行计算功能,使用…...
JS中【解构赋值】知识点解读
解构赋值(Destructuring Assignment)是 JavaScript 中一种从数组或对象中提取数据的简便方法,可以将其赋值给变量。这种语法可以让代码更加简洁、清晰。下面我会详细讲解解构赋值的相关知识点。 1. 数组解构赋值 数组解构赋值允许你通过位置…...

【Pyspark-驯化】一文搞懂Pyspark中对json数据处理使用技巧:get_json_object
【Pyspark-驯化】一文搞懂Pyspark中对json数据处理使用技巧:get_json_object 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 …...

第10章 无持久存储的文件系统 (1)
目录 前言 10.1 proc文件系统 10.1.1 /proc 内容 本专栏文章将有70篇左右,欢迎关注,查看后续文章。 前言 即存在于内存中的文件系统。如: proc: sysfs: 即/sys目录。 内容不一定是ASCII文本,可能是二进…...

如何把命令行创建python虚拟环境与pycharm项目管理更好地结合起来
1. 问题的提出 我在linux或windows下的某个目录如“X”下使用命令行的方式创建了一个python虚拟环境(参考文章),对应的目录为myvenv, 现在我想使用pycharm创建python项目myproject,并且利用虚拟环境myvenv,怎么办&…...
keepalived+lvs高可用负载均衡集群配置方案
配置方案 一、配置主备节点1. 在主备节点上安装软件2. 编写配置文件3. 启动keepalived服务 二、配置web服务器1. 安装并启动http服务2. 编写主页面3.配置虚拟地址4. 配置ARP 三、测试 服务器IP: 主负载均衡服务器 master 192.168.152.71备负载均衡服务器 backup 192…...

Azure OpenAI Swagger Validation Failure with APIM
题意:Azure OpenAI Swagger 验证失败与 APIM 问题背景: Im converting the Swagger for Azure OpenAI API Version 2023-07-01-preview from json to yaml 我正在将 Azure OpenAI API 版本 2023-07-01-preview 的 Swagger 从 JSON 转换为 YAML。 My S…...

haproxy高级功能配置
介绍HAProxy高级配置及实用案例 一.基于cookie会话保持 cookie value:为当前server指定cookie值,实现基于cookie的会话黏性,相对于基于 source 地址hash 调度算法对客户端的粒度更精准,但同时也加大了haproxy负载,目前此模式使用…...

XXL-JOB分布式定时任务框架快速入门
文章目录 前言定时任务分布式任务调度 1、XXL-JOB介绍1.1 XXL-JOB概述1.2 XXL-JOB特性1.3 整体架构 2、XXL-JOB任务中心环境搭建2.1 XXL-JOB源码下载2.2 IDEA导入xxljob工程2.3 初始化数据库2.4 Docker安装任务管理中心 3、XXL-JOB任务注册测试3.1 引入xxl-job核心依赖3.2 配置…...

直流电机及其驱动
直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电机正转,当电极反接时,电机反转。 直流电机属于大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作 TB6612是一款双…...
Java-判断一个字符串是否为有效的JSON字符串
在 Java 中判断一个字符串是否为有效的 JSON 字符串,可以使用不同的库来进行验证。常见的库 包括 org.json、com.google.gson 和 com.alibaba.fastjson 等。这里我将展示如何使用 com.alibaba.fastjson 库来实现一个简单的工具类,用于判断给定的字符串…...
FPGA开发板的基本知识及应用
FPGA开发板是一种专门设计用于开发和测试现场可编程门阵列(Field-Programmable Gate Array, FPGA)的硬件平台。FPGA是一种高度可配置的集成电路,能够在制造后被编程以执行各种数字逻辑功能。FPGA开发板通常包含一个FPGA芯片以及一系列支持电路和接口,以便…...

JVM知识总结(性能调优)
文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 性能调优 何时进行JVM调优? 遇到以下情况,…...

基于Ascend C的Matmul算子性能优化最佳实践
矩阵乘法是深度学习计算中的基础操作,对于提升模型训练和推理速度至关重要。昇腾AI处理器是一款专门面向AI领域的AI加速器,其AI Core采用达芬奇架构,以高性能Cube计算引擎为基础,针对矩阵运算进行加速,可大幅提高单位面…...

SQL注入之EVAL长度限制突破技巧
要求: PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell? widows小皮环境搭建: 使用phpstudy搭建一个网站。 随后在该eval文件夹下创建一个webshell.php文件,并在其输入代码环境 解题思路: 通…...
稀疏注意力:时间序列预测的局部性和Transformer的存储瓶颈
时间序列预测是许多领域的重要问题,包括对太阳能发电厂发电量、电力消耗和交通拥堵情况的预测。在本文中,提出用Transformer来解决这类预测问题。虽然在我们的初步研究中对其性能印象深刻,但发现了它的两个主要缺点:(1)位置不可知性:规范Tran…...

详谈系统中的环境变量
目录 前言1. 指令背后的本质2. 环境变量背后的本质3. 环境变量到底是什么4. 命令行参数5. 本地变量 与 内置命令6. 环境变量的相关命令 前言 相信在 it 行业学习或者工作的小伙伴们,基本都配置过环境变量(windows环境下),如果你也…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...