Nano Hash - криптовалюты, майнинг, программирование

Не удается найти символ: переменная ›объект› типа ‹Класс›?

Я работаю над некоторыми дополнительными кредитными проектами, и когда я пытаюсь отправить его через сервер автоматической проверки для моей программы, он дает мне ошибку «Символ не найден» и прекращает выполнение моего кода... Я не совсем уверен, почему, потому что вроде все по объему и написано правильно.

Любые идеи?

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: cannot find symbol
instance.SaveToURLPage(url, filename);
        ^
symbol:   method SaveToURLPage(String,String)
location: variable instance of type Chap72
1 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();
}

}

09.10.2013

  • Метода не существует? 09.10.2013
  • Подозрительно, что ошибка говорит об экземпляре переменной типа Chap72. Это означает, что у вас есть переменная с именем instance, тип которой Chap72; другими словами, это не тот instance, который вы нам показали, тип которого WebReader. У вас есть другой instance где-то еще, на который вы пытаетесь позвонить SaveToURLPage? 09.10.2013
  • Я не уверен, что ты имеешь в виду. Единственный экземпляр, который я создал, был объектом с именем instance для класса WebReader, поэтому я мог использовать метод SaveToURLPage. 09.10.2013
  • Я не совсем уверен, в чем здесь проблема; как уже упоминалось @ajb, тип должен быть WebReader, а не Chap72. Не могли бы вы попробовать использовать this.instance вместо простого instance и рассказать нам, что у вас получилось? 09.10.2013
  • Что такое сервер автоматической проверки, о котором вы упомянули? 09.10.2013
  • Где бы я наследовал экземпляр? Он говорит мне, что я не могу, так как он нестатичен. Как вы думаете, я должен реорганизовать имена классов? 09.10.2013
  • Сервер Web-CAT компании Virginia Tech. 09.10.2013
  • @Rimshot Я точно не знаю, какую ошибку вы получаете при наследовании экземпляра, но предложение Рони о this.instance не должно было компилироваться, поскольку instance является локальной переменной в методе, а не полем. Все это кажется мне ужасно странным, поэтому я и спрашивал о сервере автопроверки — может быть, в его работе есть ошибки, или, может быть, он читает устаревшие файлы. Если у вас есть доступ к компилятору Java без этого сервера, и у вас есть доступ ко всем нужным вам классам, я бы попробовал перекомпилировать там все с нуля. 09.10.2013
  • Я пришел к выводу, что это проблема на стороне сервера. Я перекомпилировал код и максимально отладил его, и с моей стороны он отлично работает. Однако, когда он пытается запустить тесты на нем, используя любой алгоритм, который он использует, он проваливает весь мой проект. Он даже не видит, что он работает.... 09.10.2013
  • Что ж, если вы сможете задокументировать то, что вы сделали, и показать это профессору, надеюсь, вы сможете продемонстрировать, что это проблема с сервером, и получить дополнительную оценку. Желаю вам удачи. 09.10.2013

Ответы:


1

Эта ошибка означает, что не существует такого метода SaveToURLPage, который принимает два объекта String в качестве параметров, объявленных в классе WebReader. Для получения дополнительной помощи вам необходимо опубликовать содержимое (или JavaDoc) класса WebReader, чтобы мы могли его увидеть.

09.10.2013
  • Обновлен OP классом WebReader. 09.10.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..