简体   繁体   中英

Cannot Find Symbol: Variable >object> of type <Class>?

I'm working through some extra credit projects and when I try to submit it through the auto-check server for my program, it gives me a Symbol Not found error and stops running my code...I'm not entirely sure why because everything seems in scope and spelled correctly.

Any ideas?

public class Chap72 {    
    public static void main(String[] args) throws IOException {

        //User inputs url and name of file to create.
        WebReader instance = new WebReader();

        Scanner console = new Scanner(System.in);
        System.out.println("Enter a URL");
        String url = console.nextLine();
        System.out.println("Enter name of file");
        Scanner location = new Scanner(System.in);
        String fileName = location.next();
        String filename = "PARSEDRESULT.txt";

        try {
            //uses both saveURL for the unaltered HTML
            //uses SaveToURLPage for extracting links.
            instance.SaveToURLPage(url, filename);
            instance.saveURL(instance.Navigate(url), fileName);


        } 
        catch (MalformedURLException e) {
            //catches MalformedURLException
            e.printStackTrace();
        }
    }
}

Error:

error: cannot find symbol
instance.SaveToURLPage(url, filename);
        ^
symbol:   method SaveToURLPage(String,String)
location: variable instance of type Chap72
1 error

I'm not entirely sure why I'm getting this error...

WebReader

public class WebReader implements WebPage {

/**
 *
 * @param url to search through
 * @return pageLocation
 * @throws MalformedURLException
 */
public URL Navigate(String url) throws MalformedURLException {
    //Creates a URL object
    URL pageLocation = new URL(url);
    return pageLocation;
}

/**
 *
 * @param location url hypertext link
 * @param fileName name of text file to save to
 * @throws IOException
 */
public void saveURL(URL location, String fileName) throws IOException {
    Scanner in = new Scanner(location.openStream());
    PrintWriter out = new PrintWriter(fileName);
    //Scans the website
    while (in.hasNextLine()) {
        //prints out Information from URL
        out.println(in.nextLine());

    }
    in.close();
    out.close();
}

/**
 *
 * @param url to search through
 * @param filename to save to
 * @throws IOException
 */
public void SaveToURLPage(String url, String fileName) throws IOException {

    // Creates a new URL object to retreive information.
    URL pageLocation = new URL(url);
    Scanner in = new Scanner(pageLocation.openStream());
    PrintWriter out = new PrintWriter(fileName);

    while (in.hasNext()) {
        //Cycles through each character
        String line = in.next();
        if (line.contains("href=\"http://")) {
            //if it has an <a> tag, the link is extracted
            int from = line.indexOf("\"");
            int to = line.lastIndexOf("\"");
            out.println(line.substring(from + 1, to));
        }
    }
    in.close(); //closes program
    out.close();
}

}

This error means that there is no such method SaveToURLPage that accepts two String objects as parameters declared in the WebReader class. For any further assistance, you'll need to post the contents (or JavaDoc) of the WebReader class, for us to see.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM