zoukankan      html  css  js  c++  java
  • Java错误记录


    个人错误记录,如果大佬发现我的理解或者表述有错误,烦请指正,不胜感激。欢迎小伙伴的相关分享,向好的方向走一步,就离坏的结果远一步。共勉

    语法错误

    办法
    初期,百度,解决问题,然后记下来,熟能生巧
    后期,啃底层源码,明白实现原理

    程序一直在等待,无法继续进行

    依次输入n个数,不能直接用像if(scan.nextInt() == 25)这样的条件,如果按顺序下来的next int 并不等于25,程序就会一直等待
    解决办法:int m;m = scan.nextInt();用m来判断

    Scanner读取数据不完整

    第一行 输入n(int型),表示下面将输入的n个元素
    第二行 n个元素,以空格隔开
    分别用int n = scan.nextInt();和String s = scan.nextLine();读取第一行的数和第二行的数
    s读取失败,因为nextLine();遇到回车后会停止继续读入,并舍弃换行。应该在n和s之间添加scan.nextLine();吸收掉中间的回车

    数组越界

    比如for循环中存在if(a[i+1] == a[i]+1),当i到最后一个元素时,if条件就会越界。所以声明数组时,应该在原来的长度加一,然后改变for循环的遍历条件i < a.length-1

    new构建数组长度为n的数组a,然后再用a = s.toCharArray();数组a的长度变为字符串s的长度

    字符串未改变

    使用s.replaceFirst();后应该再赋值给s,因为s只是数组的管理者,并不能改变这个数组

    或者改使用StringBuilder

    逻辑错误

    办法
    写代码之前,用思维导图或者其他方式,把程序大致要分成什么部分,分别实现那些功能,特殊情况的处理等,提前想清楚。然后再开始写代码

    记录
    没有考虑到边界值
    陷入死循环

    输出错误

    格式问题,多了空格少了空格,输出顺序
    没有理解题意

    小结

    OJ的题目,要考虑多样例输入的问题Scanner+while(hasNext)
    OJ给的数据都要用到

    向好的方向走一步,就离坏的结果远一步
  • 相关阅读:
    mysql alter table时的表锁是mysql服务层加的还是存储引擎加的
    show databases in redis
    Docker-compose中的使用技巧
    debian切换源
    C# MVC(File)控件多张图片上传加预览
    C# DateTime日期格式化
    DropDownList的使用,RadioButtonList的使用
    access数据库连接问题
    动态获取ul,li的数据
    Dungeon Game
  • 原文地址:https://www.cnblogs.com/PersistLu/p/12608590.html
Copyright © 2011-2022 走看看