[英]error: cannot find symbol method
我正在嘗試創建一個fileReader方法,但是每次我進行編譯時,都會收到錯誤消息:
錯誤:找不到符號
-> fileReader列表=新的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();
嘗試
List<String> list = fileReader();
您無法實例化方法。 fileReader
是一個方法而不是一個類,因此此語句無效:
fileReader這里有多個問題:
fileReader
是一種方法,因此無法使用new
實例化它。 刪除新關鍵字。 fileReader
不是靜態方法,因此您不能直接在main方法中調用它。 要解決此問題,可以將fileReader
方法標記為靜態,或者創建您的類的實例,然后在該實例上調用fileReader
。 最后,您需要創建一個List實例,以使用fileReader方法返回的列表。 因此,將其更改為:
清單清單= fileReader(); //如果fileReader被標記為靜態
列表列表= new yourClass()。fileReader(); //如果fileReader是非靜態方法
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();
}
您無法實例化方法。 fileReader是一個方法而不是一個類,因此此語句無效:
1,如果要調用主方法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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.