Java 错误:找不到符号方法
我试图创建一个fileReader方法,但每次我去编译时,都会出现以下错误: 错误:找不到符号 -->fileReader列表=新建fileReader() 我在多个网站上浏览了很多帖子,但我想不出这一条Java 错误:找不到符号方法,java,Java,我试图创建一个fileReader方法,但每次我去编译时,都会出现以下错误: 错误:找不到符号 -->fileReader列表=新建fileReader() 我在多个网站上浏览了很多帖子,但我想不出这一条 public ArrayList<String> fileReader() { ArrayList<String> list = new ArrayList<String>(); try(Scanner s = new Scanner(new Fil
public ArrayList<String> fileReader()
{
ArrayList<String> list = new ArrayList<String>();
try(Scanner s = new Scanner(new File("test.txt"));)
{
while (s.hasNext())
list.add(s.next());
s.close();
}catch(FileNotFoundException e)
{
System.out.println("File Not Found.");
}
return(list);
}
public static void main(String[] args)
{
Scanner user = new Scanner(System.in);
System.out.print("Enter a key: ");
int key = user.nextInt();
fileReader list = new fileReader();
public ArrayList fileReader()
{
ArrayList=新建ArrayList();
try(Scanner s=newscanner(新文件(“test.txt”);)
{
而(s.hasNext())
添加(s.next());
s、 close();
}catch(filenotfounde异常)
{
System.out.println(“未找到文件”);
}
返回(列表);
}
公共静态void main(字符串[]args)
{
扫描仪用户=新扫描仪(System.in);
System.out.print(“输入一个键:”);
int key=user.nextInt();
fileReader列表=新建fileReader();
试试看
List List=fileReader();
无法实例化方法。文件读取器
是一个方法而不是类,因此此语句无效:
文件阅读器
这里有多个问题:
fileReader
是一种方法,因此无法使用new
对其进行实例化。
删除新关键字fileReader
不是静态方法,因此不能在主方法中直接调用它。
要解决此问题,请将fileReader
方法标记为static,或者创建类的实例,然后对该实例调用fileReader
new
关键字用于创建不用于调用方法的类的实例。fileReader()
是一个方法而不是一个类,因此它要么使用类的实例
,要么将其设置为静态
并直接调用它。我将
fileReader()
更改为如下静态方法
public static ArrayList<String> fileReader()
{
ArrayList<String> list = new ArrayList<String>();
try(Scanner s = new Scanner(new File("test.txt"));)
{
while (s.hasNext())
list.add(s.next());
s.close();
}catch(FileNotFoundException e)
{
System.out.println("File Not Found.");
}
return(list);
}
public static void main(String[] args)
{
Scanner user = new Scanner(System.in);
System.out.print("Enter a key: ");
int key = user.nextInt();
fileReader list = fileReader();
}
publicstaticarraylistfilereader()
{
ArrayList=新建ArrayList();
try(Scanner s=newscanner(新文件(“test.txt”);)
{
而(s.hasNext())
添加(s.next());
s、 close();
}catch(filenotfounde异常)
{
System.out.println(“未找到文件”);
}
返回(列表);
}
公共静态void main(字符串[]args)
{
扫描仪用户=新扫描仪(System.in);
System.out.print(“输入一个键:”);
int key=user.nextInt();
fileReader list=fileReader();
}
无法实例化方法。fileReader是一个方法而不是类,因此此语句无效:
1、 如果要调用main方法fileReader方法,可以将static关键字添加到fileReader
//add static
public static ArrayList<String> fileReader() {
ArrayList<String> list = new ArrayList<String>();
try {
//removed brackets
Scanner s = new Scanner(new File("test.txt"));
while (s.hasNext())
list.add(s.next());
s.close();
} catch (FileNotFoundException e) {
System.out.println("File Not Found.");
}
return (list);
}
//添加静态
公共静态ArrayList文件读取器(){
ArrayList=新建ArrayList();
试一试{
//拆下的支架
扫描器s=新扫描器(新文件(“test.txt”);
而(s.hasNext())
添加(s.next());
s、 close();
}catch(filenotfounde异常){
System.out.println(“未找到文件”);
}
返回(列表);
}
使用FileReader
而不是FileReader
。FileReader()是一个方法还是一个构造函数?似乎它是一个方法,您应该删除“new”关键字。这是一个方法,你是正确的,并且修复了它。这正是我所需要的。非常感谢你,我现在就知道了,我已经有一段时间没有使用Java了,但是我记得以前遇到过这个问题,当然我忘了解决方法
//add static
public static ArrayList<String> fileReader() {
ArrayList<String> list = new ArrayList<String>();
try {
//removed brackets
Scanner s = new Scanner(new File("test.txt"));
while (s.hasNext())
list.add(s.next());
s.close();
} catch (FileNotFoundException e) {
System.out.println("File Not Found.");
}
return (list);
}