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

易错点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 作为标记第几个或者第几步


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

http://www.lryc.cn/news/544287.html

相关文章:

  • C++ 正则表达式分组捕获入门指南
  • AI人工智能机器学习之降维和数据压缩
  • 17 款电脑压缩工具详解及下载指南(2025 年最新版)
  • DeepSeek开源周Day5压轴登场:3FS与Smallpond,能否终结AI数据瓶颈之争?
  • ROS2软件调用架构和机制解析:Publisher创建
  • 【落羽的落羽 C++】C++入门基础·其之一
  • docker使用代理的简单配置
  • 每日一题-设计食物评分系统,哈希表的有效使用
  • 大模型应用:多轮对话(prompt工程)
  • WSDM24-因果推荐|因果去偏的可解释推荐系统
  • VScode在Windows11中配置MSVC
  • 数据库基础二(数据库安装配置)
  • cuda-12.4.0 devel docker 中源码安装 OpenAI triton
  • doris: Hive Catalog
  • 【LeetCode】131.分割回文串
  • JeeWMS graphReportController.do SQL注入漏洞复现(CVE-2025-0392)
  • 基于Python+django+mysql旅游数据爬虫采集可视化分析推荐系统
  • 我的工作经历
  • 筑牢安全防线:工商业场所燃气泄漏防护新方案
  • 基于STM32的智能停车场管理系统
  • MacBook 终端中使用 vim命令
  • VoIP之SBC(会话边界控制器)
  • threejs:document.createElement创建标签后css设置失效
  • 安装2018版本的petalinux曲折经历
  • return和print
  • springboot411-基于Java的自助客房服务系统(源码+数据库+纯前后端分离+部署讲解等)
  • 跨平台文件互传工具
  • final 关键字在不同上下文中的用法及其名称
  • Elasticsearch:使用阿里云 AI 服务进行嵌入和重新排名
  • 【愚公系列】《鸿蒙原生应用开发从零基础到多实战》004-TypeScript 中的泛型