一些知识点小细节

  1. 当遇到的问题有关逆序输出,可以转换一下思想,就是使用for循环的时候,i的初始化是从数组或者是字符串的最后一个,然后注意设置循环结束的条件,最重要的是不要忘记i--;而不是I++;  注意:当要逆序输出的是字符串类型,可以使用StringBuilder类,因为StringBuilder类有reverse方法,可以直接逆序,如:StringBuilder(s).reverse().toString();

但是string类型没有,因为string类型是不可变的,所以没有提供reverse方法。

StringBuilder类的reverse方法的使用:

String originalString = "hello";

StringBuilder reversedString = new StringBuilder(originalString).reverse();

System.out.println(reversedString.toString());

  1. ``Math.sqrt()` 是 Java 中的一个静态方法,用于计算一个数的平方根。在数学上,平方根函数表示对一个非负实数求其平方根。在 Java 中,`Math.sqrt()` 方法接受一个 double 类型的参数,返回值也是 double 类型,表示参数的平方根。例如,`Math.sqrt(9)` 将返回 3.0,因为 3 的平方是 9。
  2. 当涉及到从用户输入中读取文本时,Java中的Scanner类提供了两个主要的方法:next() 和 nextLine()。

next() 方法:

next() 方法用于读取下一个标记(默认是由空白字符分隔的字符串)并返回。

它会忽略任何前导的空白字符,并在遇到下一个空白字符(包括空格、制表符或换行符)时停止读取。

返回的字符串不包含遇到的空白字符。

nextLine() 方法:

nextLine() 方法用于读取输入中的下一行文本并返回。

它会读取包括换行符在内的整行文本,直到遇到换行符为止。

返回的字符串包含了遇到的换行符。

因此,当你想要读取整行文本时,应该使用 nextLine() 方法。而当你只需要读取下一个由空白字符分隔的标记时,可以使用 next() 方法。

4.闰年的判断: 能被 4 整除但不能被 100 整除的年份是闰年;

能被 400 整除的年份也是闰年。

5.       System.out.printf("%6.2f\n", num);

        System.out.printf("%6.2f %6.2f\n", num, num);

        System.out.printf("%6.2f %6.2f %6.2f\n", num, num, num);

效果:

这些代码是使用Java中的`System.out.printf()`方法来格式化输出。让我解释一下:

- `%6.2f`:这是一个格式说明符,它告诉`printf()`方法如何格式化输出。在这里,`%`表示格式说明的开始,`f`表示要格式化的是浮点数。`6`表示总字段宽度为6,`.2`表示保留两位小数。所以`%6.2f`将浮点数格式化为总宽度为6,保留两位小数的形式。

- `\n`:这是换行符,它告诉程序在输出完一行后换行到下一行。

- `%6.2f %6.2f`:这表示在同一行上输出两个格式化的浮点数,中间用空格分隔。

- `%6.2f %6.2f %6.2f`:同理,这表示在同一行上输出三个格式化的浮点数,每个数之间用空格分隔。

所以,这些代码中的`printf()`语句用于按照给定的格式输出浮点数。

  1. LinkedList 是一个双向链表,非常适合用于模拟环形结构,因为它可以高效地添加和删除元素。比如可以解决约瑟夫环问题。就可以用linkedList()
  2. 迭代器:

int count = 0; // 初始化报数计数器  

Iterator<Integer> iterator = circle.iterator(); // 使用迭代器遍历链表  

while (iterator.hasNext()) {  

    count++; // 报数加1  

    if (count == 3) { // 如果报数到3,淘汰当前人  

        iterator.next(); // 移动到当前人的位置(但不返回元素)  

        iterator.remove(); // 淘汰当前人  

        count = 0; // 重置报数计数器  

    } else {  

        iterator.next(); // 移动到当前人的位置(但不返回元素)  

    }  

}

  1. 什么时候需要加上nextLine();(总结起来就是,如果你输入字符串前有要输入基本数据类型的,就需要有nextLine),在读取整数后的下一行,使用 sc.nextLine() 来清空输入缓冲区。
  2. 在读取整数和读取字符串之间,添加 sc.nextLine() 来读取并丢弃多余的空行或换行符。

在Java中使用Scanner类读取输入时,特别是当输入包含多种类型(如整数和字符串)并且这些输入是连续的时候,通常需要格外注意换行符和输入缓冲区的状态。nextLine()方法会读取直到下一个换行符(包括换行符本身)为止的所有字符,并将其作为一个字符串返回。而nextInt(), nextDouble()等方法只会读取相应的整数或浮点数,然后停留在换行符之前,不会读取换行符。

以下是一些需要添加nextLine()的常见情况:

在读取非字符串类型之后读取字符串:当你首先使用nextInt(), nextDouble()等方法读取一个整数或浮点数后,紧接着使用nextLine()读取一个字符串时,如果不先调用nextLine()来消耗掉输入缓冲区中的换行符,nextLine()将会立即返回,因为它已经遇到了换行符。

java

Scanner sc = new Scanner(System.in);  

int number = sc.nextInt(); // 用户输入数字后按回车,换行符留在缓冲区中  

String text = sc.nextLine(); // 如果没有先调用sc.nextLine(),这里会立即返回空字符串

需要忽略多余的换行符:有时候用户可能在输入之间不小心多按了几次回车,导致输入缓冲区中有多个换行符。在这些情况下,使用nextLine()可以帮助清除这些额外的换行符。

在循环中读取输入:如果你在一个循环中读取输入,特别是当每次迭代都期望用户输入一个全新的值时,你可能需要在每次迭代开始时使用nextLine()来确保输入缓冲区是干净的。

要决定是否需要在特定情况下使用nextLine(),你应该考虑以下几点:

输入的类型:你是否在读取整数或浮点数之后立即读取字符串

输入的顺序:用户输入的顺序是否符合你的程序预期?

输入缓冲区的状态:你是否确信输入缓冲区中没有残留的换行符或其他字符?

如果你不确定是否需要使用nextLine(),一种简单的测试方法是尝试输入一些数据,并观察程序的行为是否符合预期。如果程序没有按预期工作,那么可能就需要考虑使用nextLine()来清理输入缓冲区。

9.平年和闰年问题平年和闰年是用来区分公历年份的两种不同情况,主要区别在于二月的天数不同。

平年是指阳历没有闰日或农历没有闰月的年份。在平年中,二月有28天,全年有365天。例如,2023年就是一个平年。

闰年则是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。在公历(阳历)中,有闰日的年份叫闰年,一般年份为365天,闰年为366天。在闰年中,二月有29天,全年有366天。

确定一个年份是否为闰年,有以下几个规则:

  1. 如果年份能被4整除但不能被100整除,则为闰年。
  2. 如果年份能被400整除,也是闰年。

例如,2000年是闰年,因为它能被400整除;而1900年则不是闰年,因为它虽然能被4整除,但也能被100整除,并且不能被400整除。

这些规则的应用对于日历、时间计算、历史研究等都具有重要意义。了解平年和闰年的区别和规则有助于我们更准确地进行时间相关的计算和理解。

  1. 进制转换

. **进制转换方法**:

   - Java提供了一些内置方法用于进制转换,例如:

     - `Integer.toBinaryString(int)`:将整数转换为二进制字符串。

     - `Integer.toOctalString(int)`:将整数转换为八进制字符串。

     - `Integer.toHexString(int)`:将整数转换为十六进制字符串。

     - `Integer.parseInt(String, radix)`:将指定进制的字符串转换为十进制整数,其中radix为进制数。

. **BigInteger类**:

   - 当处理大整数时,可以使用`java.math.BigInteger`类。

   - 这个类提供了用于处理任意精度整数的方法,包括转换为不同进制的字符串表示。

 **字符串与整数之间的转换**:

   - Java中可以使用`Integer.parseInt(String)`方法将字符串解析为整数,还可以指定基数。

   - 另外,`Integer.toString(int)`方法可以将整数转换为字符串表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/540487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

弱口令入侵FE企业管理平台【附口令】

漏洞描述 飞企互联-FE企业运营管理平台 druid路径弱口令&#xff0c;攻击者可能通过尝试弱口令&#xff0c;非法进入系统&#xff0c;恶意操作或者收集信息进一步攻击利用。 漏洞复现 1、Fofa app"飞企互联-FE企业运营管理平台"2、零零信安 (html_banner360浏览…

android studio 网络请求okhttp3、okgo

一、在build.gradle文件里添加 implementation com.squareup.okhttp3:okhttp:4.9.0 implementation com.squareup.okhttp3:okhttp:3.12.0 implementation com.squareup.okio:okio:1.17.4 implementation com.lzy.net:okgo:3.0.4 implementation com.alibaba:fastjson:1.2.57 i…

蓝桥杯【第15届省赛】Python B组

这题目难度对比历届是相当炸裂的简单了…… A&#xff1a;穿越时空之门 【问题描述】 随着 2024 年的钟声回荡&#xff0c;传说中的时空之门再次敞开。这扇门是一条神秘的通道&#xff0c;它连接着二进制和四进制两个不同的数码领域&#xff0c;等待着勇者们的探索。 在二进制…

# Nacos 服务发现-快速入门-创建服务消费者模块,使用 feign 调用 服务生产者

Nacos 服务发现-快速入门-创建服务消费者模块&#xff0c;使用 feign 调用 服务生产者 1、 新增 quickstart_consumer 子工程&#xff08;子模块&#xff09;&#xff0c; 创建子模块&#xff1a;--> 右键 nacos_discovery 父工程 --> Modules --> Maven --> G…

小剧场短剧剧集收费短剧小程序APP

1. 内容展现 付费、免费、任务解锁&#xff1a;用户可以通过付费直接观看短剧&#xff0c;也可以通过完成平台任务&#xff08;如签到、分享等&#xff09;获得免费观看的机会。这种灵活的解锁方式既满足了用户的多种需求&#xff0c;也促进了平台的活跃度。主流展现形式&…

MyBatis核心配置文件介绍使用

文章目录 一、environments二、properties三、typeAliases四、mappers五、创建核心配置文件模板&映射文件模板核心配置文件模板映射文件模板 六、总结 一、environments 核心配置文件中的标签必须按照固定的顺序&#xff1a; properties?,settings?,typeAliases?,typeH…

vue 百度地图 使用 vue-baidu-map 进行当前位置定位和范围展示

vue 百度地图 使用 vue-baidu-map 进行当前位置定位和范围展示&#xff08;考勤打卡&#xff09; 一、创建百度地图账号&#xff0c;获取秘钥二、 引入插件1、安装vue-baidu-map2、在main.js中引入 三、 简单使用 最近写项目的时候&#xff0c;做到了考勤打卡的模块内容&#x…

c++ 中文转拼音的封装, char 类型 不支持 中文 已解决

在日常业务中&#xff0c;需要进行中文转拼音的检索。已便实现对应的 模糊搜索。 使用方法 std::string res "我是中国人";char* result new char[res.length() 1];for (int i 0; i < res.length(); i){result[i] res[i];}result[res.length()] \0;std::str…

【C++类和对象】上篇

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

Xilinx Zynq UltraScale+ MPSoC无人机控制器

官方术语是无人驾驶飞行器&#xff08;UAV&#xff09;&#xff0c;这显然有点拗口&#xff0c;所以我们更喜欢说无人机。在过去的几十年里&#xff0c;无人机技术有了巨大的进步。我们为一个客户开发了一个无人机的飞行和视频控制器。 客户挑战 客户需要一种混合FPGA/CPU硬件&…

idea keymap用eclipse的相关快捷键

idea快捷键用eclipse的方式 CtrlShiftR 搜索文件 shiftshift 全部文件/类搜索 CtrlH 全局搜索 CtrlO 快速打开Outline大纲视图 ctrle 查看recent窗口文件 ctrlt 快速进入接口的实现类 ctrlshiftf 格式化代码 altshiftr 变量或函数的重命名 ctrlshifto 移除无用的头文…

MySQL基础知识——MySQL日志

一条查询语句的执行过程一般是经过连接器、 分析器、 优化器、 执行器等功能模块&#xff0c; 最后到达存储引擎。 那么&#xff0c; 一条更新语句的执行流程又是怎样的呢&#xff1f; 下面我们从一个表的一条更新语句进行具体介绍&#xff1a; 假设这个表有一个主键ID和一个…

MySQL:MySQL的查询(上)

文章目录 MySQL的增加单行数据插入多行数据插入插入否则更新替换 MySQL的查询select列where语句 本篇开始总结的是MySQL当中的基本查询语句 对于数据库的查询&#xff0c;无非大致就是增删查改&#xff0c;因此对于这些内容进行一一解释&#xff1a; MySQL的增加 单行数据插…

Redis中的集群(九)

集群 消息 集群中的各个节点通过发送和接收消息(message)来进行通信&#xff0c;我们称发送消息的节点为发送者(sender),接收消息 的节点成为接收者&#xff0c;如图所示。节点发送的消息主要有以下五种: 1.MEET消息:当发送者接到客户端发送的CLUSTER MEET命令时&#xff0c…

二叉树练习day.8

235.二叉搜索树的最近公共祖先 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共…

一起找bug之购物

如果不是购物车满了&#xff0c;大概都不会发现这个 bug 淘宝 APP 修复了购物车满的情况下&#xff0c;往里面添加新商品时&#xff0c;会把一个老商品移入收藏夹&#xff0c; 但是如果这个老商品是已失效状态&#xff0c;就无法自动移入收藏夹&#xff0c;而且会一直在购物车…

AI禁区徘徊监测识别摄像机

AI禁区徘徊监测识别摄像机是一种基于人工智能技术的智能监控设备&#xff0c;用于监测禁止进入或逗留的区域。这种摄像机通过高清摄像头实时捕捉场景图像&#xff0c;利用AI算法对人员徘徊行为进行识别和监测&#xff0c;有助于提高安全防范水平&#xff0c;减少潜在的安全风险…

【DL水记】循环神经网络RNN的前世今生,Transformer的崛起,Mamba模型

文章目录 RNN网络简介传统RNN网络结构RNN的分类 长-短期记忆网络 (LSTM)GRU网络横空出世的Transformer网络Self-AttentionVisionTransformer Mamba模型Reference: RNN网络简介 “当人类接触新事物时&#xff0c;他们不会从头开始思考。就像你在阅读这篇文章时&#xff0c;你会根…

基于springboot仿雀语的文档管理系统

项目介绍 本项目借鉴了雀语的一些UI设计&#xff0c;实现了文档在线管理的功能&#xff0c;知识库可以对不同分类的文档建立不同的库&#xff0c;知识库里面左边可以维护菜单菜单目录&#xff0c;右边实现在线预览。该项目可以防止用户下载和复制文档&#xff0c;只支持在线预…

Excel从零基础到高手【办公】

第1课 - 快速制作目录【上篇】第1课 - 快速制作目录【下篇】第2课 - 快速定位到工作表的天涯海角第3课 - 如何最大化显示工作表的界面第4课 - 给你的表格做个瘦身第5课 - 快速定位目标区域所在位置第6课 - 快速批量填充序号第7课 - 按自定义的序列排序第8课 - 快速删除空白行第…