我正在尝试创建一个fileReader方法,但每次去编译时,都会收到错误:
错误:找不到符号
- > fileReader list = new fileReader();
我已经查看了多个网站上的大量帖子,但我无法想出这个帖子。
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();
答案 0 :(得分:1)
尝试
List<String> list = fileReader();
答案 1 :(得分:0)
您无法实例化方法。 fileReader
是一个方法,而不是一个类,因此该语句无效:
的FileReader 这里有多个问题:
fileReader
是一种方法,因此无法使用new
对其进行实例化。
删除新关键字。fileReader
不是静态方法,因此您无法在main方法中直接调用它。
要解决此问题,请将fileReader
方法标记为静态或创建类的实例,然后在该实例上调用fileReader
。最后,您需要创建List实例以使用fileReader方法返回的列表。所以将它改为:
List list = fileReader(); //如果fileReader被标记为静态
List list = new yourClass()。fileReader(); //如果fileReader是非静态方法
答案 2 :(得分:0)
new
关键字用于创建不用于调用方法的类实例
fileReader()
是一种方法,而不是一个类,所以它使用您班级的instance
或make it static
并直接调用它。
我将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();
}
答案 3 :(得分:0)
您无法实例化方法。 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);
}