Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java找不到枚举变量_Java_Enums - Fatal编程技术网

Java找不到枚举变量

Java找不到枚举变量,java,enums,Java,Enums,从我创建的枚举调用Severity.LOW变量时遇到问题。我尝试过导入它,将它包装在一个类中,然后导入包装器类。我不知道我做错了什么 下面是Main.java 这是我在编译Main.java时遇到的错误。 Severity.java是枚举,正确编译,没有任何错误 Main.java:43: error: cannot find symbol Allergy allergy = new Allergy("coughing", "Arzo

从我创建的枚举调用Severity.LOW变量时遇到问题。我尝试过导入它,将它包装在一个类中,然后导入包装器类。我不知道我做错了什么

下面是Main.java

这是我在编译Main.java时遇到的错误。 Severity.java是枚举,正确编译,没有任何错误

Main.java:43: error: cannot find symbol
                Allergy allergy = new Allergy("coughing", "Arzoo", Severity.LOW, "Regular cough");
                                                                           ^
  symbol:   variable LOW
  location: class Severity
1 error

这个错误告诉您,作为一种类型的严重性被发现,忽略它说的“类严重性”,即使javac知道它是一个枚举,它也会这样做,不幸的是,它不包含LOW变量

对此只有一种解释:

javac在这里使用的严重性不是编译公共枚举严重性{HIGH,MEDIUM,LOW}的结果。检查该包或包含Main.java文件的包中的类路径中是否有其他名为Severity的类。然后,检查您是否正确地重新编译了Severity.java,因为过时的类文件也会弄乱它。然后检查类路径上是否没有旧的过时构建结果


注意:请注意,即使在修复此问题后,您的代码也无法工作,您正在滥用扫描仪。正确使用scanner的方法是要么只调用.nextLine,要么永远不调用它,强烈建议永远不调用它。如果要读取行,请在制作扫描仪后立即运行扫描仪。使用分隔符\r?\n;为了告诉扫描器您希望每个输入一个标记,而不是每个空格一个标记,在任何情况下,在接受命令行输入时,这都是一个好主意。扫描器默认将空格作为分隔符,这是一个愚蠢的错误,由于向后兼容性问题,无法修复。这是一个好习惯:做扫描仪?立即设置分隔符。然后,您可以直接调用next而不是nextLine来获取一行数据,然后它就可以工作了-您的take将无法工作,因为众所周知的问题是nextLine和nextAnythingElse混合使用。

您是否编译了Severity.java?您使用的是IDE吗?我在包中有另一个名为Severity的类。成功了,谢谢!我也会把扫描仪修好。
package allergyProblem;

import java.util.*;

public enum Severity {HIGH, MEDIUM, LOW}
Main.java:43: error: cannot find symbol
                Allergy allergy = new Allergy("coughing", "Arzoo", Severity.LOW, "Regular cough");
                                                                           ^
  symbol:   variable LOW
  location: class Severity
1 error