当前位置: 首页 > 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) {      //符合条件准备bfs
          visited[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 作为标记第几个或者第几步


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

相关文章:

  • 【前端】简单原生实例合集html,css,js
  • 【芯片设计】NPU芯片前端设计工程师面试记录·20250227
  • 什么是GPU
  • DeepSeek-R1自写CUDA内核跑分屠榜:开启GPU编程自动化新时代
  • 【Python爬虫(96)】从0到1:打造爬虫驱动的数据分析平台
  • 【AI气象强短强3】基于双偏振雷达变量垂直廓线特征的短时强降水和雷暴大风短时临近预报方法
  • 分布式Session
  • 深度学习在自动驾驶车辆车道检测中的应用
  • 提升 Spring Boot 系统性能:高效处理实时数据流的 BufferTrigger 使用详解
  • 从零开始自主「起身站立」,上海AI Lab发布最新控制算法,机器人:起猛了
  • TCP协议工作原理详细介绍(形象举例版)
  • 【读书笔记·VLSI电路设计方法解密】问题56:一种设计的门数是多少
  • 如何使用useEffect模拟组件的生命周期?
  • IP-----动态路由OSPF(2)
  • 用kiln微调大模型第二篇
  • C++ | 哈希表
  • Makefile编写和相关语法规则
  • C语言综合案例:学生成绩管理系统
  • Go语言学习笔记(三)
  • 【Go】十六、protobuf构建基础服务信息、grpc服务启动的基础信息
  • 林诗栋/蒯曼混双取胜,国乒赢得多哈世乒赛开门红
  • 首次公布!我国空间站内发现微生物新物种
  • 梅花奖在上海|湘剧《夫人如见》竞梅,长沙文旅来沪推广
  • 租车订单时隔7年从花呗免密扣费?“GoFun出行”引质疑
  • 江西3人拟提名为县(市、区)长候选人
  • “养胃骗局”大公开,真正有用的方法究竟是?