Почему мои методы явно не принимают значения? - PullRequest
0 голосов
/ 01 апреля 2019

Я пишу библиотечную программу для своего класса, но сразу после компиляции я столкнулся с ошибкой. Задача этой программы заключается в том, что мне нужно использовать 3 файла, только в одном из которых (libraryRunner) есть Main. Я пытаюсь заставить оба других файла методов (соответственно libraryCard и libraryBooks) работать вместе.

Я использовал Booleans и переключился на Ints, чтобы посмотреть, исправит ли это, но я получаю ту же ошибку. Что странно, так это то, что программа, кажется, компилируется, но программа просто завершается после ранее упомянутой ошибки.

Библиотека Runner:

import java.util.Scanner;
public class libraryRunner
{
   public static void main (String args[])
   {
      libraryCard Joseph = new libraryCard();

      Joseph.whichBook("Sing");
   }
}

Что я использую в библиотечной карточке:


...
   public static String whichBook(String c)
   {
      if(libraryBooks.c == 1)
      {
         return("Sorry, it's already been checked out.");
      }
      else
      {
         return("Here's your book, " + c + "!");
      }
   }
}

Что я использую в Библиотечных книгах:

public class libraryBooks
{
   private static int hasBeenCheckedOut;

   public libraryBooks()
   {
      libraryBooks.Sing(0);
   }

   public static int Sing(int c)
   {
      hasBeenCheckedOut = c;
      return(hasBeenCheckedOut);
   }
...

Из того, что даже мой учитель говорит мне, программа должна теоретически скомпилироваться и запустить, сообщая пользователю, что книга "Пой" теперь их. Но я получаю только эту ошибку:

---- jGRASP exec: java libraryRunner Исключение в потоке "main" java.lang.NoSuchMethodError: libraryCard.whichBook (Ljava / lang / String;) Ljava / lang / String; at libraryRunner.main (libraryRunner.java:8)

---- jGRASP wedge2: код выхода для процесса равен 1. ---- jGRASP: операция завершена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...