一些知识点小细节

  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)`方法可以将整数转换为字符串表示。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony实例:【资源管理器】

介绍 本工程使用[ohos.app.ability.common] 接口中的AbilityContext类&#xff0c;获取资源管理器resourceManager&#xff0c;使用[ohos.resourceManager.d.ts]中的接口&#xff0c;展示了格式化字符串查询、基于指定屏幕分辨率查询媒体资源、获取系统资源管理对象等基础功能…

Trinamic步进电机控制模块助力抗击疟疾

疟疾是世界上最致命的传染病之一。这种疾病在亚洲、非洲和南美洲的热带地区十分常见&#xff0c;越早诊断&#xff0c;越能有效治疗。标准疟疾检测需要由训练有素的技术人员在显微镜下检测血液样本&#xff0c;以确认是否存在疟原虫&#xff0c;以及疟原虫的数量和类型。仅在印…

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

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

【python】基于pyttsx3库的字符串转音频文件

一、源码 import pyttsx3 engine pyttsx3.init() engine.setProperty(volume, 0.8) engine.setProperty(rate, 150) engine.save_to_file("Hello, World!", "output.mp3") engine.runAndWait()二、介绍 使用pyttsx3库&#xff0c;设置声音与速率&#x…

聊一聊一些关于npm、pnpm、yarn的事

前言 整理了最近的闲聊&#xff0c;话题是前端各个包管理器&#xff0c;如果分享的不对或者有异议的地方&#xff0c;麻烦请及时告诉我~ 耐心看完&#xff0c;也许你会有所收获~ 概述 本文阅读时间&#xff1a;10-15分钟左右&#xff1b; 难度&#xff1a;初级&#xff0c…

【回溯】Leetcode 51. N 皇后【困难】

N 皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。…

C# Web应用调用EXE文件的一些实践

目录 需求 范例运行环境 可执行文件的设计 调用可执行文件方法 RunExecuteFile RunShellExecuteFile 方法的区别 WEB调用举例 小结 需求 最近同事使用Python开发了一款智能文字转语音的程序&#xff0c;经讨论部署在WINDOWS环境服务器下&#xff0c;因此需要生成目标…

Pytest实践:Python测试技术基础知识!

一、简介 在软件开发领域&#xff0c;确保代码的正确性和稳健性至关重要。这就是软件测试发挥作用的地方。Python 是一种通用且广泛使用的编程语言&#xff0c;提供了大量的工具和库来帮助测试过程。 其中&#xff0c;Pytest就是一个很好用的测试框架&#xff0c;可以在 Pyth…

transformer上手(3) —— 开箱即用的 pipelines

1 开箱即用的 pipelines Transformers 库将目前的 NLP 任务归纳为几下几类&#xff1a; 文本分类&#xff1a;例如情感分析、句子对关系判断等&#xff1b;对文本中的词语进行分类&#xff1a;例如词性标注 (POS)、命名实体识别 (NER) 等&#xff1b;文本生成&#xff1a;例如…

2024年MathorCup数学建模A题移动通信网络中PCI规划问题解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 A题 移动通信网络中PCI规划问题 原题再现&#xff1a; 物理小区识别码(PCI)规划是移动通信网络中下行链路层上&#xff0c;对各覆盖小区编号进行合理配置&#xff0c;以避免 PCI 冲突、PCI 混淆以及 PCI 模3 千扰等现象。PCI 规划…

milvus各组件的结构体分析

milvus各组件的结构体分析 各组件启动&#xff0c;需要构建各组件的结构体&#xff0c;一共8个。 runComponent(ctx, localMsg, wg, components.NewRootCoord, metrics.RegisterRootCoord) runComponent(ctx, localMsg, wg, components.NewProxy, metrics.RegisterProxy) run…

lv_micropython for ESP32-C3

一、开发平台说明 硬件&#xff1a;立创实战派ESP32-C3开发板。处理器ESP32-C3&#xff08;内置400KB SRAM&#xff09;&#xff0c;无内置FLASH&#xff0c;2.0寸液晶&#xff08;液晶驱动IC:ST7789&#xff0c;触屏驱动IC:FT6336&#xff09;&#xff0c;下载口UART0。 ESP…

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++第三阶段】vector容器

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 构造函数赋值操作容量和大小插入和删除数据存取互换容器预留空间 构造函数 vector函数是常用数据结构&#xff0c;见于刷题网站。 它是单端数组&#xff0c;与普通数组区别在于可以…

【Linux】基础IO----理解缓冲区

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;理解缓冲区 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1a;Linux初阶 > 望…

Aritest+python+Jenkins解放双手iOS/Android自动化

ARITest、Python 和 Jenkins 可以结合在一起创建一个自动化测试解决方案&#xff0c;实现持续集成和持续测试的目标。以下是三者如何协同工作的基本概念&#xff1a; 1. **ARITest**&#xff1a; ARITest 是一款功能全面的自动化测试工具&#xff0c;提供 UI 自动化、接口自…

独立服务器,数据安全保障:WorkPlus即时通讯为企业信息安全把关

随着手机普及率的不断增加&#xff0c;即时通讯已经成为了企业内部沟通的重要方式。WorkPlus作为一家领先的企业级即时通讯服务商&#xff0c;提供了全方位的即时通讯解决方案&#xff0c;助力企业实现沟通无障碍、协作高效率的目标。 WorkPlus提供了多样化的即时通讯功能&…

轻松解锁销售利润!使用淘宝商品关键词搜索API接口

随着电商行业的快速发展&#xff0c;如何提高销售利润成为了卖家们的关注焦点。淘宝商品关键词搜索API接口提供了一种高效的方式来帮助卖家们找到最适合的商品关键词&#xff0c;提高商品曝光率和销售量。联讯数据将全面介绍淘宝商品关键词搜索API接口的用途、优势以及如何使用…

蓝桥杯模拟赛题——魔法失灵了——toRefs()

目标 找到 index.html 中 TODO 部分&#xff0c;正确修复代码使 data 对象恢复响应式特性&#xff0c;即点击页面上的 - 与 按钮可以改变 value 的值。正确实现后效果如下&#xff1a; 题解 value是reactive 利用toRefs; toRefs() 函数可以将 reactive() 创建出来的响应式对象…

数据结构之单链表的相关知识点及应用

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构 目录 链表的概念及结构 链表与顺序表的区别与优劣势 链表的分类 单链表的实现 单链表中增加节点 单链表中尾插数据 打印单链…