Java一些常见的错误

1.** cannot be resolved

我经常因为打错单词而出现这个情况。

字面意思是 :编译器无法识别"**"这个变量。
如:“application cannot be resolved”的意思就是编译器无法识别"application"这个变量。
解决思路:可以先找找”**“是从哪里来的,是方法的参数,还是成员变量 局部变量 或者Jsp中的页面内置对象。之后看看是否有那块的命名不规范,或者还有错误信息,这个只能是根据实际情况来进行问题分析。

2.‘input’ is never closed

在main方法的末尾加上input.close();即可。

链接:https://blog.csdn.net/linmengmeng_1314/article/details/72420951

3.void is an invalid type for the variable

在一个方法中定义了另一个方法,这在java中是不允许的。

解决方案:把整个方法的代码复制到此处所在的方法之外,在此方法中还可以使用定义的方法。

4.Cannot make a static reference to the non-static method

https://blog.csdn.net/guozuofeng/article/details/84453358

我这次是因为在同一个类的main方法中调用了同类的方法,因为java中 静态方法不可以直接调用非静态方法和成员。
其实可以在main方法中创建一个类,像“类.方法()”这样调用即可。

5.Cannot make a static reference to the non-static field name

https://blog.csdn.net/aeolus1019/article/details/7974430

6.duplicate field name

成员属性(field)
我这次是因为命名了一个全局变量name,和方法中的name重名了

7.Exception in thread “main” java.lang.NullPointerException

只是声明了对象,并没有对对象进行实例化,所以无法调用。
只需要实例化下面调用的对象属性即可,其他未调用的属性可以不进行实例化。
下面的内容是出错的位置,即调用未实例化对象属性的位置。

8.Syntax error on token(s), misplaced construct(s)

有语法错误

9.Syntax error, insert “Finally” to complete BlockStatements

我这次是因为try的内容不完整
需要在try catch块中加入finally,如下:

try{
//code
}catch(Exception e){
//code
}finally{
// add this section
}

10.Syntax error, insert “}” to complete ClassBody

类的后面缺’}’

11.duplicate parameter e

使用了同名的变量e

12.xxx cannot be resolved to a type

https://blog.csdn.net/testcs_dn/article/details/39643119/

我这次是因为调用的类名打错了,改了之后就好了

13.用IO流输出excel单元格时,左边的单元格被清空

因为createRow是创建一行,会把内容清空,使用getRow即可。

14.The field Segment.point1 is not visible

这次是因为类是私有的,不能直接访问

15.y2 cannot be resolved to a variable

这次提前声明了y2就不报错了

16.Exception in thread "main"java.lang.NullPointerException

我这次是因为定义了一个类数组之后,数组中的每个类没有分别实例化

17. java.lang.ArrayIndexOutOfBoundsException:1

https://blog.csdn.net/qq_37486501/article/details/84782201

数组下标越界,发生错误的时候,位置为1

18.Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 1

用str.split(" ");将txt文件中的每一行字符串分隔成的字符串数组,但是如果有一行是空行的话,就会出现这样的数组越界,去掉空行后就好了,不知道为什么。

19.java中File的delete()方法删除文件失败的原因

https://www.cnblogs.com/stono/p/6736767.html

20.IO流文件夹“(拒绝访问)”的原因以解决方法

https://blog.csdn.net/isAlberYu/article/details/78732550

不能直接对一个文件夹进行read和write操作

21.Syntax error, insert “Finally” to complete BlockStatements

复制代码的时候,多了一个try

22.java写文件时,输出不完整

转载自:https://blog.csdn.net/exceptional_derek/article/details/9452187

原因:

实际上,FileWriter在写文件时,会把内容存储到一块缓冲区中,当缓冲区满后,才会把缓冲区中的内容写入文件,内容再继续存到缓冲区,如此反复,而flush()方法里面实际是调用了flushBuffer(),会将内存中的内容强制写到文件中,即使内存没满。这就是为什么最后要调用一次fileWriter.close(),close()方法里面同样调用了flushBuffer(),这样就可以了。否则就会最后有少部分的内容缺失。特别是写小文件的时候,会出现文件空白,没有内容。

解决方法:

在后面加上一行

writer.flush();
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值