经过很长一段时间没有使用它,我回到了Java.我的第一堂课的第一种方法,我看到了一个我以前从未见过的错误.
对于我拥有的每个System.out.println()语句,.out.部分抛出此错误:找不到符号符号:变量输出位置:类系统
我的班级未完成,但看起来像这样
import java.io.*;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class System{
//Variables
char map[];
/*
Functions
FILE INPUT
*/
public static void ReadFile(){
FileInputStream fstream;
try{
fstream = new FileInputStream("C:\\Users\\James\\Documents\\NetBeansProjects\\Assignment1\\src\\testfiles");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
System.out.println("Your Input File");
System.out.println("****************");
//Read File Line By Line
while ((strLine = br.readLine()) != null)
{
// Print the content on the console
System.out.println(strLine);
inputArray.add(strLine);
}
System.out.println("****************");
//Close the input stream
br.close();
System.out.println();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
每一个.out.在这段代码中抛出此错误:找不到符号符号:变量输出位置:类System
我正在使用Netbeans8.0.2和java 1.7.0_76(因为我必须)
有人可以对此有所了解吗?
Jon*_*eet 11
这就是问题:
public class System
Run Code Online (Sandbox Code Playgroud)
你正在创建自己的类System,所以当你以后使用时:
System.out.println
Run Code Online (Sandbox Code Playgroud)
那是在你的 System班级而不是java.lang.System.
选项:
java.lang正是出于这个原因,创建与类内部具有相同名称的类通常是一个坏主意完全符合要求:
java.lang.System.out.println(...);
Run Code Online (Sandbox Code Playgroud)我个人会选择前一个选项.
更换所有的System.<something>用java.lang.System.<something>.
在当前状态下,您的代码引用了您自己的System类.由于名称相同,并且您的范围具有更高的优先级,因此最终会出现此错误.
更改班级名称可能是个更好的主意.您通常不希望与内部名称冲突.
| 归档时间: |
|
| 查看次数: |
2286 次 |
| 最近记录: |