Как закрыть сканер в java
Перейти к содержимому

Как закрыть сканер в java

Как закрыть сканер, открытый в методе JAVA

Я начал изучать JAVA пару дней назад, поэтому мой вопрос может быть слишком простым.

Я создал кусок кода, который выглядит следующим образом:

Я хочу знать, где я должен написать:

Любые другие предложения по улучшению кода приветствуются!

4 ответа

Благодаря Винсу я смог создать хорошую версию своего кода. и это ответ мне нужен.

Не следует закрывать сканер, не беспокойтесь о том, что он прекратит работу после вычисления simpleInterest . Когда вы запустите программу и после ввода необходимых значений она рассчитает и вернет результат и выйдет. В вашем коде 1 улучшение заключается в том, что вы не должны создавать объект Scanner снова и снова, в течение всего жизненного цикла должен быть только 1 объект из Scanner .

Ниже ваш обновленный код —

Создайте Scanner при запуске программы и используйте его снова и снова. это оно

Надеюсь, что это поможет вам.

Это то, что я бы сказал, но я не эксперт. sc.close просто сохраняет все, что вы делали со сканером, например. запись в файл и сохранение файла. — таким образом, в этом сценарии я бы даже не использовал его. Я также не стал бы использовать метод для calc si , если вы не планируете использовать его в другом месте, так как он просто занимает больше места

Открытый класс Que01 <

Я не уверен, что это хорошая практика передачи логического значения в качестве параметра, чтобы решить закрыть сканер

Java.util.Scanner.close() Method

The java.util.Scanner.close() method closes this scanner.If this scanner has not yet been closed then if its underlying readable also implements the Closeable interface then the readable’s close method will be invoked. If this scanner is already closed then invoking this method will have no effect.

Declaration

Following is the declaration for java.util.Scanner.close() method

Parameters

Return Value

This method does not return any value.

Exception

Example

The following example shows the usage of java.util.Scanner.close() method.

Let us compile and run the above program, this will produce the following result −

Класс Java.util.Scanner

Класс java.util.Scanner – это простой текстовый сканер, который может анализировать примитивные типы и строки с помощью регулярных выражений. Ниже приведены важные замечания о сканере:

Сканер разбивает входные данные на токены, используя шаблон разделителя, который по умолчанию соответствует пробелу.

Операция сканирования может заблокировать ожидание ввода.

Сканер не безопасен для многопоточного использования без внешней синхронизации.

Сканер разбивает входные данные на токены, используя шаблон разделителя, который по умолчанию соответствует пробелу.

Операция сканирования может заблокировать ожидание ввода.

Сканер не безопасен для многопоточного использования без внешней синхронизации.

Объявление класса

Ниже приводится объявление для класса java.util.Scanner.

Конструкторы классов

Сканер (Источник файла)

Это создает новый сканер, который выдает значения, отсканированные из указанного файла.

Сканер (Источник файла, String charsetName)

Это создает новый сканер, который выдает значения, отсканированные из указанного файла.

Сканер (источник InputStream)

Это создает новый сканер, который создает значения, отсканированные из указанного входного потока.

Сканер (источник InputStream, String charsetName)

Это создает новый сканер, который создает значения, отсканированные из указанного входного потока.

Сканер (читаемый источник)

Это создает новый сканер, который производит значения, отсканированные из указанного источника.

Сканер (источник ReadableByteChannel)

Это создает новый сканер, который производит значения, отсканированные с указанного канала.

Сканер (источник ReadableByteChannel, String charsetName)

Это создает новый сканер, который производит значения, отсканированные с указанного канала.

Сканер (источник строки)

Это создает новый сканер, который создает значения, отсканированные из указанной строки.

Сканер (Источник файла)

Это создает новый сканер, который выдает значения, отсканированные из указанного файла.

Сканер (Источник файла, String charsetName)

Это создает новый сканер, который выдает значения, отсканированные из указанного файла.

Сканер (источник InputStream)

Это создает новый сканер, который создает значения, отсканированные из указанного входного потока.

Сканер (источник InputStream, String charsetName)

Это создает новый сканер, который создает значения, отсканированные из указанного входного потока.

Сканер (читаемый источник)

Это создает новый сканер, который производит значения, отсканированные из указанного источника.

Сканер (источник ReadableByteChannel)

Это создает новый сканер, который производит значения, отсканированные с указанного канала.

Сканер (источник ReadableByteChannel, String charsetName)

Это создает новый сканер, который производит значения, отсканированные с указанного канала.

Сканер (источник строки)

Это создает новый сканер, который создает значения, отсканированные из указанной строки.

Методы класса

Sr.No. Метод и описание
1 void close ()

Этот метод закрывает этот сканер.

Этот метод возвращает шаблон, который этот сканер в настоящее время использует для сопоставления разделителей.

Этот метод пытается найти следующее вхождение указанного шаблона, игнорируя разделители.

Этот метод пытается найти следующее вхождение шаблона, созданного из указанной строки, игнорируя разделители.

Этот метод пытается найти следующее вхождение указанного шаблона.

Этот метод пытается найти следующее вхождение шаблона, созданного из указанной строки, игнорируя разделители.

Этот метод возвращает true, если у этого сканера есть другой токен на входе.

Этот метод возвращает true, если следующий полный токен соответствует указанному шаблону.

Этот метод возвращает true, если следующий токен соответствует шаблону, созданному из указанной строки.

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как BigDecimal с использованием метода nextBigDecimal ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как BigInteger в основании по умолчанию с использованием метода nextBigInteger ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера может быть интерпретирован как BigInteger в указанном основании с помощью метода nextBigInteger ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как логическое значение, используя шаблон без учета регистра, созданный из строки «true | false».

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение байта в основании по умолчанию с использованием метода nextByte ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение байта в указанном основании с помощью метода nextByte ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как двойное значение с помощью метода nextDouble ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение с плавающей запятой, используя метод nextFloat ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение int в основании по умолчанию с использованием метода nextInt ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение int в указанном основании с помощью метода nextInt ().

Этот метод возвращает true, если на входе этого сканера есть другая строка.

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как длинное значение в основании по умолчанию с помощью метода nextLong ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как длинное значение в указанном основании с помощью метода nextLong ().

Этот метод возвращает true, если следующий токен на входе этого сканера может быть интерпретирован как короткое значение в основании по умолчанию с использованием метода nextShort ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как короткое значение в указанном основании с помощью метода nextShort ().

Этот метод возвращает IOException, последний раз выданный базовым объектом чтения данного сканера.

Этот метод возвращает локаль этого сканера.

Этот метод возвращает результат сопоставления последней операции сканирования, выполненной этим сканером.

Этот метод находит и возвращает следующий полный токен с этого сканера.

Этот метод возвращает следующий токен, если он соответствует указанному шаблону.

Этот метод возвращает следующий токен, если он соответствует шаблону, созданному из указанной строки.

Этот метод сканирует следующий токен ввода как BigDecimal.

Этот метод сканирует следующий токен ввода как BigInteger.

Этот метод сканирует следующий токен ввода как BigInteger.

Этот метод сканирует следующий токен ввода в логическое значение и возвращает это значение.

Этот метод сканирует следующий токен ввода в виде байта.

Этот метод сканирует следующий токен ввода в виде байта.

Этот метод сканирует следующий токен ввода как двойной.

Этот метод сканирует следующий токен ввода как число с плавающей точкой.

Этот метод сканирует следующий токен ввода как int.

Этот метод сканирует следующий токен ввода как int.

Этот метод перемещает этот сканер за пределы текущей строки и возвращает пропущенный ввод.

Этот метод сканирует следующий токен ввода как длинный.

Этот метод сканирует следующий токен ввода как длинный.

Этот метод сканирует следующий токен ввода как короткий.

Этот метод сканирует следующий токен ввода как короткий.

Этот метод возвращает основание сканера по умолчанию.

Операция удаления не поддерживается этой реализацией Iterator.

Этот метод сбрасывает этот сканер.

Этот метод пропускает ввод, соответствующий указанному шаблону, игнорируя разделители.

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

Этот метод возвращает строковое представление этого сканера.

Этот метод устанавливает шаблон ограничения этого сканера к указанному шаблону.

Этот метод устанавливает шаблон разграничения этого сканера в шаблон, созданный из указанной строки.

Этот метод устанавливает локаль этого сканера в указанную локаль.

Этот метод Устанавливает основание этого сканера по умолчанию на указанное основание.

Этот метод закрывает этот сканер.

Этот метод возвращает шаблон, который этот сканер в настоящее время использует для сопоставления разделителей.

Этот метод пытается найти следующее вхождение указанного шаблона, игнорируя разделители.

Этот метод пытается найти следующее вхождение шаблона, созданного из указанной строки, игнорируя разделители.

Этот метод пытается найти следующее вхождение указанного шаблона.

Этот метод пытается найти следующее вхождение шаблона, созданного из указанной строки, игнорируя разделители.

Этот метод возвращает true, если у этого сканера есть другой токен на входе.

Этот метод возвращает true, если следующий полный токен соответствует указанному шаблону.

Этот метод возвращает true, если следующий токен соответствует шаблону, созданному из указанной строки.

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как BigDecimal с использованием метода nextBigDecimal ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как BigInteger в основании по умолчанию с использованием метода nextBigInteger ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера может быть интерпретирован как BigInteger в указанном основании с помощью метода nextBigInteger ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как логическое значение, используя шаблон без учета регистра, созданный из строки «true | false».

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение байта в основании по умолчанию с использованием метода nextByte ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение байта в указанном основании с помощью метода nextByte ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как двойное значение с помощью метода nextDouble ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение с плавающей запятой, используя метод nextFloat ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение int в основании по умолчанию с использованием метода nextInt ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как значение int в указанном основании с помощью метода nextInt ().

Этот метод возвращает true, если на входе этого сканера есть другая строка.

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как длинное значение в основании по умолчанию с помощью метода nextLong ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как длинное значение в указанном основании с помощью метода nextLong ().

Этот метод возвращает true, если следующий токен на входе этого сканера может быть интерпретирован как короткое значение в основании по умолчанию с использованием метода nextShort ().

Этот метод возвращает значение true, если следующий токен на входе этого сканера можно интерпретировать как короткое значение в указанном основании с помощью метода nextShort ().

Этот метод возвращает IOException, последний раз выданный базовым объектом чтения данного сканера.

Этот метод возвращает локаль этого сканера.

Этот метод возвращает результат сопоставления последней операции сканирования, выполненной этим сканером.

Этот метод находит и возвращает следующий полный токен с этого сканера.

Этот метод возвращает следующий токен, если он соответствует указанному шаблону.

Этот метод возвращает следующий токен, если он соответствует шаблону, созданному из указанной строки.

Этот метод сканирует следующий токен ввода как BigDecimal.

Этот метод сканирует следующий токен ввода как BigInteger.

Этот метод сканирует следующий токен ввода как BigInteger.

Этот метод сканирует следующий токен ввода в логическое значение и возвращает это значение.

Этот метод сканирует следующий токен ввода в виде байта.

Этот метод сканирует следующий токен ввода в виде байта.

Этот метод сканирует следующий токен ввода как двойной.

Этот метод сканирует следующий токен ввода как число с плавающей точкой.

Этот метод сканирует следующий токен ввода как int.

Этот метод сканирует следующий токен ввода как int.

Этот метод перемещает этот сканер за пределы текущей строки и возвращает пропущенный ввод.

Этот метод сканирует следующий токен ввода как длинный.

Этот метод сканирует следующий токен ввода как длинный.

Этот метод сканирует следующий токен ввода как короткий.

Этот метод сканирует следующий токен ввода как короткий.

Этот метод возвращает основание сканера по умолчанию.

Операция удаления не поддерживается этой реализацией Iterator.

Этот метод сбрасывает этот сканер.

Этот метод пропускает ввод, соответствующий указанному шаблону, игнорируя разделители.

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

Этот метод возвращает строковое представление этого сканера.

Этот метод устанавливает шаблон ограничения этого сканера к указанному шаблону.

Этот метод устанавливает шаблон разграничения этого сканера в шаблон, созданный из указанной строки.

Этот метод устанавливает локаль этого сканера в указанную локаль.

Этот метод Устанавливает основание этого сканера по умолчанию на указанное основание.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *