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

十一、常用API——练习

常用API——练习

  • 练习1 键盘录入
  • 练习2 算法水题
  • 练习3 算法水题
  • 练习4 算法水题
  • 练习5 算法水题


练习1 键盘录入

键盘录入一些1~100之间的整数,并添加到集合中。
直到集合中所有数据和超过200为止

public static void main(String[] args) {/*键盘录入一些1~100之间的整数,并添加到集合中。直到集合中所有数据和超过200为止*///0.创建一个集合用来添加数据ArrayList<Integer> list = new ArrayList<>();//1.键盘录入数据Scanner sc = new Scanner(System.in);while (true) {System.out.println("请输入一个整数:");String numStr = sc.nextLine();int num = Integer.parseInt(numStr);//数据异常判断if (num < 1 || num > 100) {System.out.println("当前数字不在1~100的范围当中,请重新输入!");continue;}/*将数据添加到集合中* 细节:* num:基本数据类型* 集合里面的数据是Integer* 在添加数据的时候触发了自动装箱*/list.add(num);//统计数据中所有的数据和int sum = getSum(list);//对sum进行判断if (sum > 200){System.out.println("集合中所有的数字满足要求!");break;}}//验证要求for (int i = 0; i < list.size(); i++) {System.out.print(list.get(i) + " ");}}private static int getSum(ArrayList<Integer> list) {int sum = 0;for (int i = 0; i < list.size(); i++) {int num = list.get(i);sum += num;}return sum;}

练习2 算法水题

自己实现parseInt方法的效果,将字符串形式的数据转成整数。
要求:

  • 字符串中只能是数字不能有其他字符
  • 最少一位,最多10位
  • 0不能开头
public static void main(String[] args) {/*自己实现parseInt方法的效果,将字符串形式的数据转成整数。要求:字符串中只能是数字不能有其他字符最少一位,最多10位0不能开头*///0.定义一个字符串String str = "123456789";//1.校验字符串//习惯:会先把异常数据进行过滤,剩下来就是正常的数据if (!str.matches("[1-9]\\d{0,9}")) {//错误的数据System.out.println("数据格式有误");} else {//正确的数据System.out.println("数据格式正确");//2. 定义一个变量表示最终的结果int num = 0;//3.遍历字符串得到里面的每一个字符for (int i = 0; i < str.length(); i++) {int c = str.charAt(i) - '0';num = num * 10 + c;}System.out.println(num);}}

练习3 算法水题

定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转成字符串表示的二进制

在这里插入图片描述

public static void main(String[] args) {/*定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转成字符串表示的二进制*/System.out.println(toBinaryString(123));//验证System.out.println(Integer.toBinaryString(123));}private static String toBinaryString(int num) {/*核心逻辑:不断地去除以2,得到余数,一直到商为0就结束* 需要把余数倒着拼接起来*///0.定义一个StringBuilder()用来 拼接余数StringBuilder sb = new StringBuilder();//1.利用循环不断地除以2获取余数while (true){if (num==0) break;//获取余数int remaindar = num % 2;//倒着拼接sb.insert(0,remaindar);//除以2num = num / 2;}return sb.toString();}

练习4 算法水题

请使用代码实现计算你活了多少天,用JDK7和JDK8两种方法实现

public static void main(String[] args) throws ParseException {//请使用代码实现计算你活了多少天,用JDK7和JDK8两种方法实现//JDK7//规则:只要对时间进行计算或者判断,都需要先获取当前时间的毫秒值//0.计算出生年月日的毫秒值String birthday = "2002年4月11日";SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");Date date = sdf.parse(birthday);long birthdaytime = date.getTime();//1.获取当前时间的毫秒值long todayTime = System.currentTimeMillis();//2.计算间隔多少天long time = todayTime - birthdaytime;System.out.println(time / 1000 / 60 / 60 / 24 + "天");//--------------------------//JDK8LocalDate d1 = LocalDate.of(2002, 4, 11);LocalDate d2 = LocalDate.now();long days = ChronoUnit.DAYS.between(d1, d2);System.out.println(days + "天");}

练习5 算法水题

判断任意的一个年份是闰年还是平年
要求:用JDK7和JDK8两种方式判断
提示:

  • 二月有29天是闰年
  • 一年又366天是闰年
public static void main(String[] args) {/*判断任意的一个年份是闰年还是平年要求:用JDK7和JDK8两种方式判断提示:* 二月有29天是闰年* 一年又366天是闰年*///JDK7//方法1:JDK7Method1();//方法2:JDK7Method2();//JDK8//方法1:JDK8Method1();//方法2://把时间设置为2000年3月1日LocalDate ld = LocalDate.of(2000, 3, 1);//true:闰年  false:平年boolean result = ld.isLeapYear();System.out.println(result);if (result){System.out.println(ld.getYear() + "年是闰年!");}else {System.out.println(ld.getYear() + "年是平年!");}}private static void JDK8Method1() {//把时间设置为2000年3月1日LocalDate ld = LocalDate.of(2000, 3, 1);//再把日历往前减一天LocalDate ld2 = ld.minusDays(1);//看当前的时间是28号还是29号?int dayOfMonth = ld2.getDayOfMonth();System.out.println(dayOfMonth);if (dayOfMonth==29){System.out.println(ld2.getYear() + "年是闰年!");}else {System.out.println(ld2.getYear() + "年是平年!");}}private static void JDK7Method2() {/*简化2:* 我们可以把时间设置为2001年1月1日*/Calendar c = Calendar.getInstance();c.set(2001,0,1);//再把日历往前减一天c.add(Calendar.DAY_OF_MONTH, -1);//看当前的时间是有366天还是365天int dayofYear = c.get(Calendar.DAY_OF_YEAR);System.out.println(dayofYear);if (dayofYear==366){System.out.println(c.get(Calendar.YEAR) + "年是闰年!");}else {System.out.println(c.get(Calendar.YEAR) + "年是平年!");}}private static void JDK7Method1() {/*简化1:* 我们可以把时间设置为2000年3月1日*/Calendar c = Calendar.getInstance();c.set(2000,2,1);//再把日历往前减一天c.add(Calendar.DAY_OF_MONTH,-1);//看当前的时间是28号还是29号?int day = c.get(Calendar.DAY_OF_MONTH);System.out.println(day);if (day==29){System.out.println(c.get(Calendar.YEAR) + "年是闰年!");}else {System.out.println(c.get(Calendar.YEAR) + "年是平年!");}}

相关文章:

十一、常用API——练习

常用API——练习 练习1 键盘录入&#xff1a;练习2 算法水题&#xff1a;练习3 算法水题&#xff1a;练习4 算法水题&#xff1a;练习5 算法水题&#xff1a; 练习1 键盘录入&#xff1a; 键盘录入一些1~100之间的整数&#xff0c;并添加到集合中。 直到集合中所有数据和超过2…...

基于ssm和微信小程序的健身房私教预约管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…...

微服务架构

微服务&#xff08;Microservices&#xff09;是一种将应用程序作为独立服务套件的架构风格&#xff0c;这些服务围绕业务功能构建&#xff0c;可以通过网络调用进行交互。微服务架构使得可以独立开发、测试、部署和缩放各个服务。 微服务的核心原则包括&#xff1a; 高内聚&…...

山体滑坡在线安全监测预警系统(解决方案)

在近年来&#xff0c;随着全球气候变化的影响&#xff0c;山体滑坡等自然灾害频发&#xff0c;给人们的生命财产安全带来了严重威胁。为了有效预防和减少山体滑坡带来的危害&#xff0c;许多地方开始在山上安装山体滑坡在线安全监测预警系统&#xff08;解决方案&#xff09;。…...

StarRocks -- 基础概念(数据模型及分区分桶)

1. 数据模型 StarRocks提供四种数据模型&#xff1a; Duplicate Key, Aggregate Key, Unique Key, Primary Key 1.1 Duplicate Key 适用场景&#xff1a; 分析原始数据&#xff0c;如原始日志和原始操作记录。可以使用多种方法查询数据&#xff0c;不受预聚合方法的限制。加…...

Unity 状态模式(实例详解)

文章目录 简介示例1&#xff1a;基础角色状态切换示例2&#xff1a;添加更多角色状态示例3&#xff1a;战斗状态示例4&#xff1a;动画同步状态示例5&#xff1a;状态机管理器示例6&#xff1a;状态间转换的条件触发示例7&#xff1a;多态行为与上下文类 简介 Unity 中的状态模…...

力扣hot100 分割回文串 集合 dfs

Problem: 131. 分割回文串 文章目录 思路Code&#x1f496; DP预处理版 思路 &#x1f468;‍&#x1f3eb; 参考题解 Code import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {int n;//字符…...

C# 一个快速读取写入操作execl的方法封装

这里封装了3个实用类ExcelDataReaderExtensions&#xff0c;ExcelDataSetConfiguration&#xff0c;ExcelDataTableConfiguration和一个实用代码参考&#xff1a; using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.T…...

axios结合ts使用,取消请求,全局统一获取数据,抛出错误信息

通常在开发时&#xff0c;后端向前端返回的数据可以如下&#xff1a; 1 使用restful api充分利用http状态码&#xff0c;然后在data中追加code字段&#xff0c;请求成功返回200,请求失败返回404,401,500等状态码&#xff0c;并且在code字段中给出详细的字符串信息2 再包一层&a…...

MongoDB:从容器使用到 Mongosh、Python/Node.js 数据操作(结构清晰万字长文)

文章目录 1. 容器与应用之间的关系介绍2. 使用 Docker 容器安装 MongoDB3. Mongosh 操作3.1 Mongosh 连接到 MongoDB3.2 基础操作与 CRUD 4. Python 操作 MongoDB5. Nodejs 操作 MongoDB5.1 Mongodb 和 Mongoose5.2 推荐在项目中使用 Mongoose 参考文献 1. 容器与应用之间的关系…...

超越传统—Clean架构打造现代Android架构指南

超越传统—Clean架构打造现代Android架构指南 1. 引言 在过去几年里&#xff0c;Android应用开发经历了巨大的变革和发展。随着移动设备的普及和用户对应用的期望不断提高&#xff0c;开发人员面临着更多的挑战和需求。传统的Android架构在应对这些挑战和需求时显得有些力不从…...

WebGL开发项目的类型

WebGL&#xff08;Web Graphics Library&#xff09;是一种用于在Web浏览器中渲染交互式3D和2D图形的JavaScript API。使用WebGL&#xff0c;可以开发各种类型的项目&#xff0c;包括但不限于以下几种&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业…...

CUDA编程- - GPU线程的理解 thread,block,grid - 学习记录

GPU线程的理解 thread,block,grid 一、从 cpu 多线程角度理解 gpu 多线程1、cpu 多线程并行加速2、gpu多线程并行加速2.1、cpu 线程与 gpu 线程的理解&#xff08;核函数&#xff09;2.1.1 、第一步&#xff1a;编写核函数2.1.2、第二步&#xff1a;调用核函数&#xff08;使用…...

yum 报错 ZLIB_1.2.3.3 not defined in file libz.so.1

这篇记录工作中发现的&#xff0c;库文件被修改导致 yum 无法正常使用的问题排查过程 问题描述 1&#xff09;执行yum 报错说python2.7.5 结构异常&#xff0c;发现/usr/bin/yum 的解释器被修改过&#xff0c;恢复成/usr/bin/python即可 2&#xff09;恢复后&#xff0c;发现…...

数字孪生智慧能源电力Web3D可视化云平台合集

前言 能源电力的经济发展是中国式现代化的强大动力&#xff0c;是经济社会发展的必要生产要素&#xff0c;电力成本变化直接关系到工业生产、交通运输、农业生产、居民生活等各个方面&#xff0c;合理、经济的能源成本能够促进社会用能服务水平提升、支撑区域产业发展&#xf…...

DataTable.Load(reader)注意事项

对于在C#中操作数据库查询&#xff0c;这样的代码很常见&#xff1a; using var cmd ExecuteCommand(sql); using var reader cmd.ExecuteReader(); DataTable dt new DataTable(); dt.Load(reader); ...一般的查询是没问题的&#xff0c;但是如果涉及主键列的查询&#xf…...

DC-DNS(域名解析服务)(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 题目配置步骤安装及配置DNS服务。创建正向区域,添加必要的域名解析记录。配置TXT记录,配置域名反向PTR。无法解析的域名统一交由IspSrv进行解析验证配置chinaskills.com正向区域配置…...

日志之Loki详细讲解

文章目录 1 Loki1.1 引言1.2 Loki工作方式1.2.1 日志解析格式1.2.2 日志搜集架构模式1.2.3 Loki部署模式 1.3 服务端部署1.3.1 AllInOne部署模式1.3.1.1 k8s部署1.3.1.2 创建configmap1.3.1.3 创建持久化存储1.3.1.4 创建应用1.3.1.5 验证部署结果 1.3.2 裸机部署 1.4 Promtail…...

Mongodb投射中的$slice,正向反向跳过要搞清楚

在投射中&#xff0c;使用$操作符和$elemMatch返回数组中第一个符合查询条件的元素。而在投射中使用$slice, 能够返回指定数量的数组元素。 定义 投射中使用$slice命令&#xff0c;指定查询结果中返回数组元素的数量。 语法 db.collection.find(<query>,{<arrayFi…...

类和对象 第六部分 继承 第一部分:继承的语法

一.继承的概念 继承是面向对象的三大特性之一 有些类与类之间存在特殊的关系&#xff0c;例如下图&#xff1a; 我们可以发现&#xff0c;下级别的成员除了拥有上一级的共性&#xff0c;还有自己的特性&#xff0c;这个时候&#xff0c;我们可以讨论利用继承的技术&#xff0c;…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...