java找不到符号方法

时间:2014-07-31 08:04:35

标签: java

第一

import java.io.*;
import java.util.*;
public class MyFile {

public String[] readFiles(String FileName){
        String[] names = new String[]{};
        String line = null;
        try{
        FileReader fileReader = new FileReader(FileName);
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        for(int i = 0;(line = bufferedReader.readLine()) != null;i++) {
                    names[i] = line;
                }   


        bufferedReader.close();
        }
        catch(IOException ex){
        ex.printStackTrace();
        }
        return names;
}

public static void write(String FileName,String[] names){
    try{
        FileWriter fileWriter = new FileWriter(FileName);

        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

        for(int i = 0; i<names.length ; i++)
        {
            bufferedWriter.write(names[i]);
            bufferedWriter.newLine();
        }

        bufferedWriter.close();
        }

    catch(IOException ex){
    ex.printStackTrace();
    }
}
public MyFile(){System.out.println("");}
}

第二

public class Book{
public void displayAll(){
String[] bookNames;
String filename = "Books.txt";
bookNames = readFiles(filename);
for(int i=0;i<bookNames.length;i++)
{
System.out.println(""+bookNames[i]);
}
}
}

我是java的初学者,我正在尝试创建一个程序,用于保存和读取txt文件中的书名。 但是我得到了这个错误

Book.java:12: cannot find symbol
symbol: method readFiles(java.lang.String)
location:class com.acme.Book
     bookNames = readFiles(filename);
                 ^

我确实尝试过搜索,但我找不到任何答案......顺便说一下,并非所有代码都是由我编写的。

更新了mistkae(readFiles

4 个答案:

答案 0 :(得分:2)

bookNames = readFile(filename);

您没有readFile()方法,而是拥有readFiles()方法。 s 最终缺失。

那应该是

bookNames = readFiles(filename);

答案 1 :(得分:0)

方法名称是复数

readFiles

不是

readFile

答案 2 :(得分:0)

你有

public String[] readFiles(String FileName){}

但你正在打电话

bookNames = readFile(filename); // readFile() ? should be readFiles()

您可以执行以下操作之一来解决此问题

更改

bookNames = readFile(filename);

进入

bookNames = readFiles(filename);

更改

 public String[] readFiles(String FileName){}

进入

 public String[] readFile(String FileName){}

答案 3 :(得分:0)

  1. 作为每个人的意思,您定义了方法readFiles,并且您正在调用方法readFile
  2. 值得一提的是,您尝试从班级readFiles访问MyFile时,您的方法Book已定义,除非Book是内在的,否则这是不可能的类MyFile(但这将是糟糕的设计)。