Stringtokenizer не определен

Привет, у меня возникла проблема с созданием метода stringtokenizer, который позволяет пользователю вводить строки, а также подсчитывать и печатать токены. Может ли кто-нибудь помочь мне решить ошибку? Он говорит, что конструктор не определен.

public class StringTokenizer
{
  public static void main(String[ ] args)
  {
      Scanner keyboard;
      String inputSentence;
      StringTokenizer stok = null; //declare a reference to hold the address of a StringTokenizer object
      keyboard = new Scanner(System.in);

      System.out.println("Enter a line of text: ");
      inputSentence = new String(keyboard.nextLine( ) );
      while(!(inputSentence.equals("quit")))
      {
          stok = new StringTokenizer(inputSentence);//the constructor that take a String and uses a space as the delimeter
          while (stok.hasMoreTokens());
          {
          System.out.println("Number of tokens: " + stok.countTokens( ));
          System.out.println(stok.nextToken( ));
          }




        System.out.println("Enter another line of data or quit\n" );
        inputSentence = keyboard.nextLine( );

    }
    System.out.println("Goodbye");



    }//end of main
} //end of class

О да, спасибо, что рассказали мне о другой ошибке, которую я тоже забыл указать. И да, компилятор говорит, что ошибки были в первую очередь конструктором, я не знаю, какой конструктор должен быть с этим, поскольку я вспомнил, что мой профессор сказал, что мне нужно только объявить экземпляр, поскольку класс уже находится в пакете java.util. Я сделал еще один с другим именем класса, чтобы сделать его менее запутанным, а также импортировал java.util, ошибки все еще случаются. Не могли бы вы помочь мне с конструктором?

Dave Phan 13.03.2019 01:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
286
1

Ответы 1

Переименуйте класс твой. Вы находитесь в тени java.util.StringTokenizer; альтернативно,

java.util.StringTokenizer stok = null;

а также

stok = new java.util.StringTokenizer(inputSentence);

Но, будет меньше путаницы, если вы переименуете свой класс.

Согласованный. Никогда не рекомендуется называть свой класс так же, как любой класс в любом месте пакета java.

Bohemian 13.03.2019 01:02

Я сделал еще один класс с другим именем, а также импортировал java.util.*; ошибка все еще происходит знаете почему?

Dave Phan 13.03.2019 01:02

@DavePhan Вы не удалили существующий класс в текущем пакете с именем StringTokenizer (и, таким образом, вы все еще слежка).

Elliott Frisch 13.03.2019 01:07

@ElliottFrisch На самом деле я сделал второй на другом ноутбуке, а также изменил имя класса на первом. Предыдущая ошибка, как говорят, для конструктора, но я понятия не имею, что это такое

Dave Phan 13.03.2019 01:17
Предыдущая ошибка, как говорят, для конструктора Что за новая ошибка?
Elliott Frisch 13.03.2019 01:26

также есть ошибки в hasMoreTokens и nextToken, хотя это не ново. Я думал, что это связано с ошибкой конструктора, поэтому забыл упомянуть в посте, но @Carcigenicate напомнил мне об этом.

Dave Phan 13.03.2019 01:42

Другие вопросы по теме