簡體   English   中英

錯誤:找不到符號方法

[英]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這里有多個問題:

  1. fileReader是一種方法,因此無法使用new實例化它。 刪除新關鍵字。
  2. fileReader不是靜態方法,因此您不能直接在main方法中調用它。 要解決此問題,可以將fileReader方法標記為靜態,或者創建您的類的實例,然后在該實例上調用fileReader
  3. 最后,您需要創建一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM