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

易错点abc

在同一个输入流上重复创建Scanner实例可能会导致一些问题,包括但不限于输入流的混乱。尤其是在处理标准输入(System.in)时,重复创建Scanner对象通常不是最佳实践,因为这可能导致某些输入数据丢失或者顺序出错。

为什么会出现这种情况?

  1. 资源管理:每个Scanner实例都会尝试管理其关联的输入流。如果你在一个方法中创建了一个新的Scanner实例并试图读取标准输入,而另一个Scanner实例已经打开了同一个输入流,可能会导致冲突。
  2. 输入流状态:当一个Scanner实例开始读取输入流时,它会维护自己的内部缓冲区和状态。如果另一个Scanner实例也试图从同一个流中读取数据,它们可能会互相干扰,导致读取的数据不准确或顺序错误。

推荐做法

为了确保输入流被正确且高效地使用,推荐的做法是:

  • 共享Scanner实例:在你的程序入口(如main方法)中创建一个Scanner实例,并将其传递给需要读取输入的方法。这样可以保证只有一个Scanner实例在管理输入流,减少潜在的问题。

     

    避免不必要的Scanner实例化:除非绝对必要(例如,你需要从不同的输入源读取数据),否则应尽量避免在同一程序中多次创建Scanner实例。

通过这种方式,不仅可以避免输入流的混乱,还能更有效地管理资源,确保程序的稳定性和性能。


引用类型数组的默认值是null

一定要每个都new

  1. 局部变量:必须显式初始化后才能使用,否则会导致编译错误。
  2. 成员变量:如果没有显式初始化,Java会自动赋予默认值。
  • 数组声明但未初始化:数组引用是 null
  • 数组使用 new 初始化后:对于基本数据类型,数组元素会自动初始化为默认值;对于引用类型,数组元素会自动初始化为 null


上面两个问题都导致了段错误的诞生


对bfs的基本还是不熟,导致没有更多的精力去举反例


之前只是勉强的背下来了和做下去了就没有专题练习,使得学习断断续续使得本来由的知识又丧失了,成本大大增加。

这次不练熟就不继续往下了


算法题目还可以加深对语言的熟练和时间的安排


好消息是这次的bfs我依据自己的想法实现了,但是熟练度还是不够

要去积累自己的模板(这里举例子的分情况的思想有了)

  private static boolean dfs(int u,int times) {if(u >= n2)return true;  //终极 最后一个看这里boolean flag = false;for(int i = 0;i < n2;i ++) {if(!visited[i]) {          //没被访问过,否则下一个if(times <= planes[i].t + planes[i].d) {      //符合条件准备bfsvisited[i] = true;           //准备bfs之前先true下避免干扰下面的flag = dfs(u + 1,(int)Math.max(times,planes[i].t) + planes[i].l);if(flag) {                   //自己早就通过了,下面的如果也是就true网上return true;}visited[i] = false;         //下层不满足,自己需要再次false为上层的其它做准备}}continue;                   //没被访问过,下一个}return false;                 //访问完了都没找到匹配的,又不是最后一个所以都不行,返回上层继续}

一般都会有一个 n 作为标记第几个或者第几步


重新做错题,根本不要怕记住了答案。即使背下来了后面会错的再去做难的

相关文章:

易错点abc

在同一个输入流上重复创建Scanner实例可能会导致一些问题&#xff0c;包括但不限于输入流的混乱。尤其是在处理标准输入&#xff08;System.in&#xff09;时&#xff0c;重复创建Scanner对象通常不是最佳实践&#xff0c;因为这可能导致某些输入数据丢失或者顺序出错。 为什么…...

android智能指针android::sp使用介绍

android::sp 是 Android 中的智能指针&#xff08;Smart Pointer&#xff09;的实现&#xff0c;用于管理对象的生命周期&#xff0c;避免手动管理内存泄漏等问题。它是 Android libutils 库中重要的一部分&#xff0c;常用于管理继承自 android::RefBase 的对象。 与标准库中…...

水滴tabbar canvas实现思路

废话不多说之间看效果图,只要解决了这个效果水滴tabbar就能做出来了 源码地址 一、核心实现步骤分解 布局结构搭建 使用 作为绘制容器 设置 width=600, height=200 基础尺寸 通过 JS 动态计算实际尺寸(适配高清屏) function initCanvas() {// 获取设备像素比(解决 Re…...

地弹与振铃

地弹&#xff08;Ground Bounce&#xff09;和振铃&#xff08;Ringing&#xff09;是数字电路中常见的信号完整性问题&#xff0c;两者都与高速开关和寄生参数有关&#xff0c;但表现形式和成因不同。以下是它们的对比及解决方法&#xff1a; 1. 地弹&#xff08;Ground Bounc…...

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力&#xff0c;激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…...

DeepSeek-R1自写CUDA内核跑分屠榜:开启GPU编程自动化新时代

引言 在AI领域&#xff0c;深度学习模型的性能优化一直是研究者们关注的核心。最近&#xff0c;斯坦福和普林斯顿的研究团队发现&#xff0c;DeepSeek-R1生成的自定义CUDA内核不仅超越了OpenAI的o1和Claude 3.5 Sonnet&#xff0c;还在KernelBench框架中取得了总排名第一的好成…...

爬虫下载B站视频简单程序(仅供学习)

请输入视频链接&#xff1a;https://www.bilibili.com/video/BV1owFSeREoh &#xff08;示例地址&#xff09; 程序显示结果如下&#xff1a; 下载进度: 100.00% 下载完成 视频已保存到: ./video.mp4 核心功能 1. 视频信息解析…...

2.5 运算符2

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的 2.5.3 赋值运算符 赋值运算符将值存储在左操作数指定的对象中。有两种赋值操作&#xff1a; 1、简单赋值&#xff0c;使用。其中第二…...

DeepSeek + 自由职业 发现新大陆,从 0 到 1 全流程跑通商业 IP

DeepSeek 自由职业 发现新大陆&#xff0c;从 0 到 1 全流程跑通商业 IP 商业定位1. 商业定位分析提示词2. 私域引流策略提示词3. 变现模型计算器提示词4. 对标账号分析提示词5. 商业IP人设打造提示词6. 内容选题策略提示词7. 用户人群链分析提示词8. 内容布局与转化路径设计提…...

仿12306购票系统(3)

前面完成了乘车人登录功能的实现&#xff0c;本篇主要是控制台方面的管理 对于整体的控制台的设计&#xff0c;为了能够快速的检验&#xff0c;不进行登录拦截&#xff0c;在控制台的这个模块的controller层增加admin&#xff0c;以及在登录界面的拦截器排除掉admin. 车站 即…...

2025年2月个人工作生活总结

本文为 2025年2月工作生活总结。 工作记录 AI浪潮 AI非常火&#xff0c;春节至今&#xff0c;到处充斥着大量和AI、DeepSeek有关的新闻。领导也一再强调要用AI&#xff0c;甚至纳入到新一年的考核里。再往上&#xff0c;大领导开会的新闻稿里也作出要求&#xff0c;不能停下脚…...

【Python】网络爬虫——词云wordcloud详细教程,爬取豆瓣最新评论并生成各式词云

目录 一、功能介绍 二、关键技术 1、安装WordCloud 2、利用WordCloud 1、WordCloud的基础用法 **相关参数介绍** **WordCloud 提供的方法如下** 2、WordCloud的应用举例 3、设置停用词 4、WordCloud使用词频 三、程序设计的步骤 1、抓取网页数据 2、数据清洗 3、…...

第39天:安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化

时间轴&#xff1a; Java知识点&#xff1a; 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方组件使用等. 框架库&#xff1a;MyBatis&#xff0c;SpringMVC&#xff0c;SpringBoot&#xf…...

综合练习 —— 递归、搜索与回溯算法

目录 一、1863. 找出所有子集的异或总和再求和 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 代码思路 问题分析 核心思想 实现细节 代码解析 初始化 DFS 函数 时间复杂度 空间复杂度 示例运行 输入 运行过程 总结 二、 47. 全排列 II - 力扣&a…...

c++ 中的 auto 与 const 关键字

总是看到这两个关键字&#xff0c;根据 AI 的回复进行了一些整理总结。 文章目录 **1. auto 关键字****基本用法****与指针、引用结合****与 const 结合****在函数返回值推导****auto 不能用于** **2. const 关键字****修饰变量****修饰指针****修饰函数参数****修饰成员函数**…...

.pem文件是什么

.pem 文件通常是一个 Privacy-Enhanced Mail 格式的文件&#xff0c;它是一个常见的 证书文件 格式&#xff0c;可以存储加密密钥、证书或其他加密数据。最常见的用途是 SSH 密钥 和 SSL/TLS 证书。 在 SSH 使用中&#xff0c;.pem 文件一般是 私钥 文件&#xff0c;用于通过公…...

【Java SE】Java中String的内存原理

参考笔记&#xff1a; Java String 类深度解析&#xff1a;内存模型、常量池与核心机制_java stringx、-CSDN博客 解析java中String的内存原理_string s1 new string("ab");内存分析-CSDN博客 目录 1.String初识 2.字符串字面量 3.内存原理图 4. 示例验证 4.…...

IDEA提示将方法形参更改为(什么什么类型),要检查对应的实体类中的字段类型是否正确

IDEA提示inviteCodeId应该是字符串&#xff0c;明显不对&#xff0c;后来检查发现是FakeRegistration类中把inviteCodeId定义为String类型了。...

DeepSeek-OpenSourceWeek-第五天-Launch of 3FS and Smallpond Framework

2025 年 2 月 28 日,DeepSeek 在开源周的最后一天宣布推出了 Fire-Flyer File System(3FS)和 Smallpond 数据处理框架。这些创新旨在提升数据访问和处理能力,特别是针对 AI 训练和推理工作负载。 Fire-Flyer File System (3FS) 3FS 是一种高性能的分布式文件系统,专为应对…...

【芯片设计】NPU芯片前端设计工程师面试记录·20250227

应聘公司 某NPU/CPU方向芯片设计公司。 小声吐槽两句,前面我问了hr需不需要带简历,hr不用公司给打好了,然后我就没带空手去的。结果hr小姐姐去开会了,手机静音( Ĭ ^ Ĭ )面试官、我、另外的hr小姐姐都联系不上,结果就变成了两个面试官和我一共三个人在会议室里一人拿出…...

初阶数据结构(C语言实现)——3顺序表和链表(3)

3.链表 3.1 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表的物理结构 1.从上图可看出&#xff0c;链式结构在逻辑上是连续的&#xff0c;但是在物理上不一定连续…...

Kubernetes故障排查实战指南

前言 在云原生时代,Kubernetes已成为容器编排的事实标准。然而,随着系统规模和复杂度的增加,故障排查变得越来越具有挑战性。本文将从实战角度,系统化介绍K8s故障排查方法和最佳实践。 © ivwdcwso (ID: u012172506) 一、故障排查方法论 1.1 三步排查法 问题定位:快…...

使用 VSCode 代替 BeyondStudio for NXP 开发 JN 5169

使用 VSCode 代替 BeyondStudio for NXP 开发 JN 5169 一、安装 VSCode二、搭建 NXP JN5169 ZigBee 3.0 开发环境和下载示例工程三、配置 VSCode1、配置环境变量 MYSYS_HOME2、VSCode 安装以下插件3、VSCode 配置头文件路径 四、编译工程1、JN-AN-1219 有 6 个构建选项2、修改 …...

Python常见面试题的详解24

1. 如何对关键词触发模块进行测试 要点 功能测试&#xff1a;验证正常关键词触发、边界情况及大小写敏感性&#xff0c;确保模块按预期响应不同输入。 性能测试&#xff1a;关注响应时间和并发处理能力&#xff0c;保证模块在不同负载下的性能表现。 兼容性测试&#xff1a;测…...

加载大数据时性能压力优化

1. 减少数据请求量 分页加载&#xff08;Pagination&#xff09; 原理&#xff1a;将数据拆分为多页&#xff0c;按需加载。实现&#xff1a; 传统分页&#xff08;页码切换&#xff09;。无限滚动&#xff08;滚动到底部自动加载下一页&#xff0c;如社交媒体&#xff09;。…...

动态自定义标签属性页面(Tomcat 9)

java文件 &#xff0c;包名org.rain.tag package org.rain.tag; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.DynamicAttributes; import javax.servlet.jsp.…...

使用Fuse-DFS挂载文件存储 HDFS-后端存储ceph

1. 编译环境准备 yum install cmake3 ln -s /usr/bin/cmake3 /usr/bin/cmake yum install gcc-c安装挂载依赖 yum -y install fuse fuse-devel fuse-libs执行以下命令&#xff0c;载入FUSE模块 modprobe fuse2. 下载源码包 hadoop-3.3.4-src.tar.gz解压后执行以下命令 打开…...

DBGPT安装部署使用

简介 DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。 目的是构建大模型领域的基础设施&#xff0c;通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Mul…...

How to use VRX on ubuntu20.04 with ROS1 Noetic?[2]

How to use VRX on ubuntu20.04 with ROS1 Noetic?[2] 1.Which topics2.Control1.1操作模拟船&#xff08;1&#xff09;命令行直接发布&#xff08;2&#xff09;启动键盘控制文件 3.Customer your VRX world3.1Which world parameters3.2改变风的参数 3.2.1更改默认参数&…...

yolov8 目标追踪 (源码 +效果图)

1.在代码中 增加了s键开始追踪 e键结束追踪 显示移动距离(代码中可调标尺和像素的比值 以便接近实际距离) 2.绘制了监测区域 只在区域内的检测 3.规定了检测的类别 只有人类才绘制轨迹 import osimport cv2 from ultralytics import YOLO from collections import defaultdic…...