当前位置: 首页 > news >正文

day02-作业题

一、简答题

请说出方法定义的全格式

访问修饰符 静态修饰符 返回值 方法名(参数列表){方法体;retrun 返回值;}

请说出方法重载的概念

在一个类中,可以定义方法名相同,参数列表不相同(参数类型、参数个数或者参数顺序不同)的方法

请简述什么是类,什么是对象

类:用户自定义的数据类型,用来描述相同属性和行为的对象集合。
对象:是根据类作为模板创建的实例,具有类所有的属性和行为。

请简述this关键字的概述及作用

this是一个关键字表示方法调用者的地址值。
主要作用:区分同名的成员变量和局部变量和访问当前对象的成员属性、成员方法、构造方法。

请简述private关键字的概述及作用

private:是一个访问修饰符。表示当前属性或者行为为该类私有的,其他类不可以直接访问。主要在面向对象中实现封装。
作用:隐藏对象内部细节,仅允许公共的方法进行访问和操作对象的状态,有助于保护对象的状态不受外部直接访问和修改的影响,可以防止用户的恶意操作。

请简述构造方法的作用和注意事项

构造方法用于帮助用户创建对象和给成员属性赋值,也可以在构造方法进行一系列的初始化操作。
注意事项:1.不能有返回值  2.构造方法名必须和类名相同

请简述封装有哪些体现以及好处

使用private访问修饰符来限制成员变量的访问权限,设计公共的方法setter和getter方法来允许外部代码访问和修改对象的状态。而不直接暴露对象的内部实现细节。
安全性:隐藏对象内部的细节,保护对象不能受外部直接访问和修改的影响。
复用性:对象可以在不同的上下文中被重复使用。
降低复杂度:外部代码只需要关注如何使用对象的功能,而不需要了解对象的内部复杂逻辑,从而减少了代码的复杂度和耦合度。

二、编程题

/*分析以下需求并完成代码设计一个方法,接收一个整数数组,能同时返回该数组的最大值和最小值提示:return后面只能写一个值
*/
public class Test02{public static void main(String[] args) {Random r = new Random();int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(100) + 1;}System.out.println(Arrays.toString(arr));System.out.println("该数组的最大值为:" + getMax(arr));System.out.println("该数组的最小值为:" + getMin(arr));}public static int getMax(int[] arr){int max = Integer.MIN_VALUE;for (int i : arr) {max = Math.max(i,max);}return max;}public static int getMin(int[] arr){int min = Integer.MAX_VALUE;for (int i : arr) {min = Math.min(i,min);}return min;}}
/*分析以下需求并完成代码设计一个方法,接收一个整数数组,计算数组中小于平均值的元素个数并返回*/
public class Test03{public static void main(String[] args) {Random r = new Random();int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(100) + 1;}System.out.println(Arrays.toString(arr));System.out.println("小于平均数的值有:" + ltAvgCount(arr) + "个");}public static int ltAvgCount(int[] arr){int sum = 0;for (int i : arr) {sum += i;}int avg = sum / arr.length;int count = 0;//统计平均数的个数for (int i : arr) {if (i < avg){count++;}}return count;}}
/*分析以下需求并完成代码编写实体类User,成员变量包含name姓名、年龄age、爱好hobby定义测试类,在main方法中完成实例化三个User对象,属性分别为"慕容雪痕",17,"弹钢琴""燕清舞",16,"跳舞""夏诗韵",21,"唱歌"将三个对象添加到合适的数组中    遍历数组,将年龄小于18岁的对象,爱好修改为"敲代码"遍历修改后的数组,控制台效果如下慕容雪痕 17 敲代码燕清舞 16 敲代码夏诗韵 21 唱歌
*/
public class TestUser{public static void main(String[] args) {User[] user = {new User("慕容雪痕",17,"弹钢琴"),new User("燕清舞",16,"跳舞"),new User( "夏诗韵",21,"唱歌")};user[0].setHobby("敲代码");user[1].setHobby("敲代码");for (User user1 : user) {System.out.print(user1.getName() + " ");System.out.print(user1.getAge() + " ");System.out.print(user1.getHobby());System.out.println();}}
}
class User{private String name;private Integer age;private String hobby;public User() {}public User(String name, Integer age, String hobby) {this.name = name;this.age = age;this.hobby = hobby;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getHobby() {return hobby;}public void setHobby(String hobby) {this.hobby = hobby;}
}
/*分析以下需求并完成代码编写实体类Person,成员变量包含姓名name、年龄age定义测试类,在main方法中完成定义方法getMinAge(Person[] persons),返回数组中最小的年龄定义方法getAvgAge(Person[] persons),返回数组中的对象平均年龄实例化三个Person对象,属性分别为"玄德",39"云长",35"翼德",34将三个对象添加到合适的数组中,将数组作为参数测试上述两个方法
*/
public class TestPerson{public static void main(String[] args) {Person[] persons = {new Person("玄德",39),new Person("云长",35),new Person("翼德",34)};Person minAgePerson = findMinAge(persons);System.out.println("最小年龄为:" + minAgePerson.getName() + "  岁数为:" + minAgePerson.getAge());System.out.println("平均年龄为:" + personAvgAge(persons));}//求岁数最小的人public static Person findMinAge(Person[] persons){Person personAgeMin = persons[0];for (int i = 1; i < persons.length; i++) {if (persons[i].getAge() < personAgeMin.getAge()){personAgeMin = persons[i];}}return personAgeMin;}//求平均年龄public static int personAvgAge(Person[] persons){int sum = 0;for (int i = 1; i < persons.length; i++) {sum += persons[i].getAge();}return sum / persons.length;}
}
class Person{private String name;private Integer age;public Person() {}public Person(String name, Integer age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;} 

相关文章:

day02-作业题

一、简答题 请说出方法定义的全格式 访问修饰符 静态修饰符 返回值 方法名(参数列表){方法体;retrun 返回值;}请说出方法重载的概念 在一个类中&#xff0c;可以定义方法名相同&#xff0c;参数列表不相同(参数类型、参数个数或者参数顺序不同)的方法请简述什么是类&#xf…...

torch.cuda.set_divice()

我申请了两块GPU,然后看两张显卡的编号 import torch torch.cuda.set_device(0) # 设置当前cuda设备编号为1 print("当前cuda设备是", torch.cuda.current_device()) # 获取当前cuda设备import torch torch.cuda.set_device(1) …...

<数据集>RSOD数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;936张 标注数量(xml文件个数)&#xff1a;936 标注数量(txt文件个数)&#xff1a;936 标注类别数&#xff1a;4 标注类别名称&#xff1a;[aircraft, oiltank, overpass, playground] 序号类别名称图片数框数1air…...

企业高性能web服务器之Nginx

文章目录 Apache经典的web服务端Apache prefork 模型Apache work 模型&#xff08;适应市场&#xff09;Apache event 模型 网络I/O网络I/O模型I/O模型网络I/O模型 Nginx架构和安装Nginx源码编译环境准备安装nginx Nginx的平滑升级及版本回滚 Nginx架构和进程Nginx进程结构Ngin…...

11-sentinel利用nacos作持久化

本文介绍sentinel配置数据的持久化方法。由于sentinel官方并没有提供持久化功能&#xff0c;大家在测试过程中也能发现sentinel服务重启后&#xff0c;原来配置的数据就丢了&#xff0c;本文就是来处理这一问题的。 做好心理准备&#xff0c;我们要修改sentinel的源代码&#…...

密码学之哈希算法

文章目录 1. 哈希函数概述1.1 哈希函数的定义1.2 哈希函数的重要性 2. SHA系列算法简介2.1 SHA系列的发展历史2.2 SHA系列的应用场景 3. 主要SHA算法详解3.1 MD5算法3.2 SHA-1算法3.3 SHA-2算法家族3.4 SHA-3算法 4. SHA算法的安全性分析4.1 安全性的重要性4.2 已知的攻击方法4…...

杰发科技AC7801——GPIO通过寄存器地址控制高低电平

通过这个寄存器来查看控制的是哪个ODR值&#xff0c;使用sample&#xff0c;发现是0x20080068的第7和第9位 使用51控制寄存器的代码来置高置低代码&#xff0c;注意变量需要用unsigned int来声明 unsigned int ledBit 0;mdelay(100);ledBit | (1 << 9); ledBit & ~…...

代码随想录算法训练营第三十一天| 01背包问题 二维 01背包问题 一维 416. 分割等和子集

01背包问题 二维 代码随想录 视频讲解&#xff1a;带你学透0-1背包问题&#xff01;| 关于背包问题&#xff0c;你不清楚的地方&#xff0c;这里都讲了&#xff01;| 动态规划经典问题 | 数据结构与算法_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std;…...

github删除历史所有commit

背景 注意非确认情况下最好不要此操作 由于不小心在某些commits中提交了敏感信息&#xff0c;需要删除这些commits记录 网上看了很多方法&#xff0c;都是根据commit 找到一条id然后全部清除得&#xff0c;因为我是需要全部删除&#xff0c;所以有一种更简单得思路。 过程 1…...

C++前向声明简介

前向声明 class a; class b; class c:public d { ..... }类a和b已经实现了具体功能&#xff0c;类c在定义&#xff0c;在类c上面声明类a和b有什么作用 在类 c 的定义上面声明类 a 和 b 的作用主要是为了确保在编译时能够识别这两个类的存在&#xff0c;特别是在类 c 中可能会使…...

华为手机是越贵越好吗?

华为手机的价格与其性能、功能、设计以及市场定位等多种因素有关&#xff0c;因此不能简单地说华为手机越贵就越好。 首先&#xff0c;华为手机的产品线非常广泛&#xff0c;涵盖了从入门级到旗舰级的多个系列&#xff0c;每个系列都有其特定的目标用户群和市场需求。因此&…...

【java基础】IDEA 的断点调试(Debug)

目录 1.为什么需要 Debug 2.Debug的步骤 2.1添加断点 2.2单步调试工具介绍 2.2.1 Step Over 2.2.2 Step Into 2.2.3 Force Step Into 2.2.4 Step Out 2.2.5 Run To Cursor 2.2.6 Show Execution Poiint 2.2.7 Resume Program 3.多种 Debug 情况介绍 3.1行断点 3.2方…...

MPLS相关实验

一、实验拓扑图以及实验要求 1、实验拓扑图 2、实验要求 合理利用IP地址进行分配R3、R4、R5、R6运行ospf在R2、R3、R4、R5、R6上运行MPLSR1上使用静态&#xff0c;R7上运行rip协议&#xff0c;R8上运行ospf协议全网可达 二、实验分析 合理利用IP地址进行分配R3、R4、R5、R6…...

从零开始学习SLAM(五):极几何与极约束

文章参考计算机视觉life 前备知识 概念 几何关系&#xff1a; 上图中&#xff1a; 极平面&#xff08;Epipolar plane&#xff09;&#xff1a;点c0, c1, p三点确定的平面&#xff1b; 极点&#xff08;Epipoles&#xff09;&#xff1a; c0 c1 连线与两个平面的交点 基线&a…...

Freertos学习笔记

目录 1.单片机_RTOS_架构的概念 2.系统中的数据类型和编程命名规范 3.堆和栈的概念 4.rtos各个操作系统的优先级 5.1000HZ1ms&#xff1b;1000ms1s。 6.任务状态转换图 7.FreeRTOS任务管理中的Delay函数 8.任务调度算法 9.同步与互斥的概念 10.能实现同步、互斥的各类…...

线程(Thread)的使用方法和锁(同步代码块,lock锁)的问题

多线程&#xff1a; 进程&#xff1a; 正在运行的程序&#xff0c;是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。 理解&#xff1a;一个正在运行的软件 线程&#xff1a; …...

Java 反射机制

Java 反射&#xff08;Reflection&#xff09;是 Java 语言提供的一种在运行时动态获取类信息、创建对象、调用方法、访问属性等功能的机制。它允许程序在运行时对类进行检查、修改和调用&#xff0c;而不需要在编译时就知道类的具体信息。 一、反射的主要类和方法 Class类&…...

详解MBR分区结构以及GPT分区结构

学习笔记: GUID&#xff08;GPT&#xff09;分区表详解_gpt分区表-CSDN博客 详解MBR分区结构以及GPT分区结构-CSDN博客 其中U盘作为移动存储设备&#xff0c;可不具备上述分区&#xff0c;也可识别...

jvm 调优篇

一 jvm调优篇 1.1 查看新生代和老年代的比例 输入命令&#xff1a; jinfo -flag NewRatio 17480 1.2 查看新生代&#xff0c;survivor和Eden区比例 1.3 查看jvm调优参数 二 调优参数 2.1 oom异常 通过visual vm查看 2.java dump 大对象 2.2 mat工具进行分析 栈的信息...

Spring AOP应用指南:概念、通知与表达式分析

目录 一.AOP的基础概念 二.Spring AOP的应用场景 三.Spring AOP的核心概念 ▐ 切点(Pointcut) ▐ 连接点(Join Point) ▐ 通知(Advice) ▐ 切面(Aspect) 通知类型 四.PointCut与Order 切面优先级 五.切点表达式 execution(...)表达式 annotation表达式 一.AOP的基…...

高性能键盘映射与SOCD清理架构解析:解决游戏输入冲突的技术方案

高性能键盘映射与SOCD清理架构解析&#xff1a;解决游戏输入冲突的技术方案 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在竞技游戏和高速动作游戏中&#xff0c;键盘输入的处理方式直接影响玩家的操作精度和…...

通达信数据解析终极指南:mootdx让金融数据获取变得如此简单

通达信数据解析终极指南&#xff1a;mootdx让金融数据获取变得如此简单 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化交易的世界里&#xff0c;获取准确、完整的市场数据是…...

平衡车PID积分饱和问题

你发现了PID最致命的坑&#xff01; 你说的完全正确&#xff1a;积分&#xff08;Ki&#xff09;是累加的&#xff0c;会无限叠加&#xff0c;直接让PWM爆掉、车猛冲、失控&#xff01; 这就是积分饱和 —— 99%初学者死在这里。 我现在彻底讲透积分为什么炸、怎么修复、平衡车…...

Vircadia Native Core:开源虚拟世界服务器核心架构与部署实战

1. 项目概述&#xff1a;一个开源虚拟世界的“引擎心脏”如果你对构建一个属于自己的、去中心化的虚拟世界&#xff08;Metaverse&#xff09;感兴趣&#xff0c;或者你正在寻找一个能支撑起大规模、高自由度社交与协作应用的底层平台&#xff0c;那么Vircadia Native Core绝对…...

终极ThinkPad风扇控制指南:告别噪音,拥抱静音高效

终极ThinkPad风扇控制指南&#xff1a;告别噪音&#xff0c;拥抱静音高效 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾经因为ThinkPad风扇的"直升机起…...

【独家首发】ElevenLabs乌尔都语语音SDK逆向分析(v2.4.1):提取未文档化emotion_intensity参数,实现新闻播报级庄严语调控制

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs乌尔都语语音SDK逆向分析全景概览 ElevenLabs 官方未公开乌尔都语&#xff08;ur-PK&#xff09;的独立语音 SDK&#xff0c;但其 Web API 实际支持该语言的 TTS 合成。通过对官方 JS SDK&am…...

Arm Iris组件参数化建模与调试实践

1. Arm Iris组件概述与核心价值Arm Iris组件是Fast Models仿真平台中的关键模块&#xff0c;它为芯片设计验证和软件开发提供了高度参数化的虚拟原型环境。作为一名长期从事Arm架构开发的工程师&#xff0c;我发现Iris组件的设计理念完美体现了"配置即硬件"的思想——…...

【最新 v2.7.1 版本安装包】OpenClaw 零基础无痛部署,无需命令零代码保姆级快速上手

OpenClaw&#xff08;小龙虾&#xff09;Windows 一键部署保姆级教程 | 10 分钟搭建专属数字员工【点击下载最新OpenClaw安装包】 前言 2026 年开源圈热门 AI 智能体 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;GitHub 星标突破 28 万&#xff0c;凭借本地运行 …...

桌面自动化技能库:基于PyAutoGUI与Selenium的工程化实践

1. 项目概述&#xff1a;一个桌面操作员的技能库最近在GitHub上看到一个挺有意思的项目&#xff0c;叫Marways7/cua_desktop_operator_skill。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但作为一个在自动化运维和桌面支持领域摸爬滚打多年的老手&#xff0c;我立…...

Arm Neoverse CMN-700性能监控与优化实践

1. Arm Neoverse CMN-700性能监控体系解析在现代多核处理器架构中&#xff0c;性能监控单元(PMU)如同系统的"听诊器"&#xff0c;能够实时捕捉微架构层面的各种行为指标。Arm Neoverse CMN-700作为面向基础设施级应用的互联架构&#xff0c;其PMU设计尤其强调对Mesh网…...