十一、常用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 键盘录入:练习2 算法水题:练习3 算法水题:练习4 算法水题:练习5 算法水题: 练习1 键盘录入: 键盘录入一些1~100之间的整数,并添加到集合中。 直到集合中所有数据和超过2…...
基于ssm和微信小程序的健身房私教预约管理系统
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…...
微服务架构
微服务(Microservices)是一种将应用程序作为独立服务套件的架构风格,这些服务围绕业务功能构建,可以通过网络调用进行交互。微服务架构使得可以独立开发、测试、部署和缩放各个服务。 微服务的核心原则包括: 高内聚&…...
山体滑坡在线安全监测预警系统(解决方案)
在近年来,随着全球气候变化的影响,山体滑坡等自然灾害频发,给人们的生命财产安全带来了严重威胁。为了有效预防和减少山体滑坡带来的危害,许多地方开始在山上安装山体滑坡在线安全监测预警系统(解决方案)。…...
StarRocks -- 基础概念(数据模型及分区分桶)
1. 数据模型 StarRocks提供四种数据模型: Duplicate Key, Aggregate Key, Unique Key, Primary Key 1.1 Duplicate Key 适用场景: 分析原始数据,如原始日志和原始操作记录。可以使用多种方法查询数据,不受预聚合方法的限制。加…...
Unity 状态模式(实例详解)
文章目录 简介示例1:基础角色状态切换示例2:添加更多角色状态示例3:战斗状态示例4:动画同步状态示例5:状态机管理器示例6:状态间转换的条件触发示例7:多态行为与上下文类 简介 Unity 中的状态模…...
力扣hot100 分割回文串 集合 dfs
Problem: 131. 分割回文串 文章目录 思路Code💖 DP预处理版 思路 👨🏫 参考题解 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,ExcelDataSetConfiguration,ExcelDataTableConfiguration和一个实用代码参考: using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.T…...
axios结合ts使用,取消请求,全局统一获取数据,抛出错误信息
通常在开发时,后端向前端返回的数据可以如下: 1 使用restful api充分利用http状态码,然后在data中追加code字段,请求成功返回200,请求失败返回404,401,500等状态码,并且在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. 引言 在过去几年里,Android应用开发经历了巨大的变革和发展。随着移动设备的普及和用户对应用的期望不断提高,开发人员面临着更多的挑战和需求。传统的Android架构在应对这些挑战和需求时显得有些力不从…...
WebGL开发项目的类型
WebGL(Web Graphics Library)是一种用于在Web浏览器中渲染交互式3D和2D图形的JavaScript API。使用WebGL,可以开发各种类型的项目,包括但不限于以下几种,希望对大家有所帮助。北京木奇移动技术有限公司,专业…...
CUDA编程- - GPU线程的理解 thread,block,grid - 学习记录
GPU线程的理解 thread,block,grid 一、从 cpu 多线程角度理解 gpu 多线程1、cpu 多线程并行加速2、gpu多线程并行加速2.1、cpu 线程与 gpu 线程的理解(核函数)2.1.1 、第一步:编写核函数2.1.2、第二步:调用核函数(使用…...
yum 报错 ZLIB_1.2.3.3 not defined in file libz.so.1
这篇记录工作中发现的,库文件被修改导致 yum 无法正常使用的问题排查过程 问题描述 1)执行yum 报错说python2.7.5 结构异常,发现/usr/bin/yum 的解释器被修改过,恢复成/usr/bin/python即可 2)恢复后,发现…...
数字孪生智慧能源电力Web3D可视化云平台合集
前言 能源电力的经济发展是中国式现代化的强大动力,是经济社会发展的必要生产要素,电力成本变化直接关系到工业生产、交通运输、农业生产、居民生活等各个方面,合理、经济的能源成本能够促进社会用能服务水平提升、支撑区域产业发展…...
DataTable.Load(reader)注意事项
对于在C#中操作数据库查询,这样的代码很常见: using var cmd ExecuteCommand(sql); using var reader cmd.ExecuteReader(); DataTable dt new DataTable(); dt.Load(reader); ...一般的查询是没问题的,但是如果涉及主键列的查询…...
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,正向反向跳过要搞清楚
在投射中,使用$操作符和$elemMatch返回数组中第一个符合查询条件的元素。而在投射中使用$slice, 能够返回指定数量的数组元素。 定义 投射中使用$slice命令,指定查询结果中返回数组元素的数量。 语法 db.collection.find(<query>,{<arrayFi…...
类和对象 第六部分 继承 第一部分:继承的语法
一.继承的概念 继承是面向对象的三大特性之一 有些类与类之间存在特殊的关系,例如下图: 我们可以发现,下级别的成员除了拥有上一级的共性,还有自己的特性,这个时候,我们可以讨论利用继承的技术,…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
