刷题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环境下),如果你也…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...

C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...