2024-05-25 01:29:12 | 我爱编程网
Java常见的错误及避免方法
1....“Expected”
当代码中缺少某些东西时,会发生此错误。通常是因为缺少分号或右括号。
通常,此错误消息不会精确问题的确切位置,为了找到错误:确保所有的左括号都有一个对应的右括号。
在查看指示的Java代码行之前顺便看看行。此eJava软件错误没有被编译器注意到,直到在代码中更深层次地看。
有时一个字符,如一个左括号,并不应该放在Java代码的原先位置。所以开发人员没有防止一个右括号来平衡括号
2." Unclosed String Literal
如果字符串文字结束时没有引号的话,会创建“Unclosed String Literal” 的错误信息,并且消息将显示与错误相同的行上。Literal 是值的源代码通常。这种情况发生在:字符串文字不以引号继展。这很容易纠正,加上所需的引号,闭合字符串文字即可。
字符串文字扩展超过一行。长字符串可以分解成字符串文字,并加上加号(“+”)。。作为字符串文字一部分的引号不通过反斜杠(“”) 进行转义。
3. “ llegal Start of an Expression
出现“Illengal Start of an Expression”错误的原因有很多。因此名列不太有用的错误消息之一。有些开发者甚至认为这是由坏的代码造成的。
。通常,创建表达式是为了生成新的值或为变量分配值。编译器期望找到表达式,但因为语法不符合预期而找不到表达式。在这些语句中就可以发现此错误
4."Cannot Find Symbol”
Java中的所有标识符都需要在被使用之前进行声明。发生错误的原因在于编译代码时,编译器不明白标识符的含义。
可能收到“Cannot Find Symbol”信息的原因有很多:
·标识符声明时的拼写可能在代码中使用时的拼写不同。
变量从未被声明。变量使用时与声明未在同一范围内类没有被导入
5.“Public Class XXX Should Be in File
当 XXX类和Java程序文件名不匹配时,会发生“Public Class XXX Should Be in File” 消息。只有当类和Java文件相同时,代码才会被编译:为解决这个问题:。类和文件命名相同。确保两名称的情况一致。
6.“Incompatible Types
“Incompatible Types”是指语句尝试将变量与类型表达式配对时发生的逻辑错误。通常会在代码尝试将文本字符串放入到整型中时出现,反之亦然。这并非Java语法错误。
当编译器给出“Incompatible Types”消息时,就不是简单修复可以摆平的了:。有可以转换类型的函数。开发人员可能需要更改代码预期的功能。
7. “Invalid Method Declaration;Return TypeRequired
此Java软件错误消息表示方法签名中未明确声明的方法的返回类型。
有若干途径会触发“nalid Method
Declaration;Return Type Required”错误:。忘记声明类型
如果方法没有返回值,那么需要将“void”声明为方法签名中的类型
构造函数名称不需要声明类型。但是,如果构造函数名称中存在错误,那么编译器将会把构造函数视为没有制定类型的方法
8.“Method
它阐明了方法签名正在调照错误的参数。调用的方法期待方法声明中定义的某些参数。检查方法声明并仔细调用,以确保它们是兼容的。
9.“ Missing Return Statement”
当一个方法没有返回语句时,就会出现“MissingReturn Statement” 的消息。每个返回值(非void 类型)的方法都必须有一个字面上返回该值的语句,以便在方法之外调用它。
编译器抛出“Missing Return Statement”消息的原因有若干:返回语句由干错误被省略。
该方法没有返回任何值,但类型void 在方法签名中未声明
10.“Possible Loss of Precision
当更多的信息被分配给一个变量而超过它的容量,就会发生“Possible Loss Precision” 消息。如果出现这种情况,那么碎片就会被扔掉。如果这样没有关系,那么代码需要将变量显示声明为新的类型。“Possible Loss of Precision”通常发生在:尝试为整数数据类型的变量分配一个实数尝试为整数数据类型的变量分配一个double。
解决方法如下。
程序的错误可以抽象分为三类:语法错误、运行错误和逻辑错误。
语法错误
是指由于编程中输入不符合语法规则而产生的。程序编译就通不过,程序不能运行起来。此类错误最简单,调试起来比较容易。
运行错误,指程序在运行过程中出现的错误。程序通过语法错误检测,但是运行的时候出现错误,导致程序被迫终止,此类错误有特定的发生条件,因此能够准确的定位错误代码段,因而调试也比较方便。
逻辑错误,程序运行后,没有得到设计者预期的结果,这就说明程序存在逻辑错误。这种错误在语法上是有效的,但是在逻辑上是错误的。
我爱编程网(https://www.52biancheng.com)小编还为大家带来Java编程,为啥会报错?的相关内容。
我也动手测试过,测试也成功。
你测试失败的原因是因为,Math相关的jar包引用不到,这里Math.random()是引用import java.lang.Math;所有报错。
你把test.java放到java_home目录下bin目录下编译,然后执行就可以了。可以参考我发的图片。
希望可以帮到你我爱编程网
你的追问:
问下为啥要导入这个?Java不是lang包自动导入的吗?
那请问你写过Math.random()方法吗,没有当然是人家已经写好,你调用。当你编译的时候它找不到jar所有报错。你在java_home目录下编译它会引用相关的jar。
java字符串录入数组后显示null?原因在于你最后for循环输出中i<length里的length取值有问题。你这段程序中,length取的是文件的大小,longlength=file.length()返回的是当前文件的所有字符的数量。假如你的文件里的内容是:第一行:a第二行:bc那么此时file.length()是多少呢?其实它是'a'、'\n'、'b'、'
java不能编译SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。对于Windows2000、Windows2003、WindowsXP,用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选项,然后点击按
一个简单的基于MVC模式的javaWeb应用程序(配置Tomcat)运行时出现错误HTTPStatus404404是页面没找到错误。看代码应该是配置错误web.xml配置:<url-pattern>/loginservlet</url-pattern>与请求访问地址:不匹配改成<url-pattern>/login.*</url
php显示中文乱码php数据库中文乱码的解决办法:1、创建数据库时,规定字符类型为uft8;2、创建表时,规定字符类型为utf8;3、在PHP的MySQL连接函数中,添加语句“mysql_query("setnames'utf8'")。php为什么uniqid()会生成这种乱码?能避免吗?你自己的重命名函数的逻辑不是用md5来当文件名吗?你看看写入name的时候是哪种字符串格式,有乱码
请教php大神:关于php的错误处理函数?<?php//关闭错误报告error_reporting(0);//报告runtime错误error_reporting(E_ERROR|E_WARNING|E_PARSE);//报告所有错误error_reporting(E_ALL);//等同error_reporting(E_ALL);ini_set("error_re
为什么php会报错:未定义的函数?一、错误类型:PHP致命错误Errortype:PHPFatalerrorFatalerror:Calltoundefinedfunction(a)in(b)online(c)二、错误描述:该错误报告表示你正企图调用未经定义的函数(function),其中a----表示未定义的函数名;b----出现该段脚本的路径
Java代码没有报错但无法运行,请问哪里出错了//好了publicclassHeart{publicstaticvoidmain(String[]args){//心形外框Stringa="*";Stringb="";inti,j;//i为行数,j为列数for(i=1;i<4;i++){for(j=1;j<20;j++){if(i==1){
怎样在androidstudio一、修改AndroidStudio(以下简称AS)的内存配置因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。二、配置AS的JDK、SDK在IDE中添加一个没有clas
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00