English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Какой синтаксис используется для передачи объекта Scanner в качестве параметра метода Java?

Текст

До Java 1.5 данные читались с помощью классов потоков символов и потоков байтов.

По умолчанию пробелы считаются разделителями (разделителями данных на токены).

читают различные данные из источниковnextXXX()Методы, предоставляемые этим классом,nextInt(),nextShort(),nextFloat(),nextLong(),nextBigDecimal(),nextBigInteger(),nextLong(),nextShort(),nextDouble(),nextByte(),nextFloat(),next().

Передача объекта Scanner в качестве параметра

Вы можете передавать объект Scanner в качестве параметра методу.

Пример

Данный Java-программа демонстрирует, как передавать объект Scanner методу. Этот объект читает содержимое файла.

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
public class ScannerExample {
   public String sampleMethod(Scanner sc){
      StringBuffer sb = new StringBuffer();
      while(sc.hasNext()) {
         sb.append(sc.nextLine());
      }
      return sb.toString();
   }
   public static void main(String args[]) throws IOException {
      //Инсталлировать класс inputStream
      InputStream stream = new FileInputStream("D:\\sample.txt");
      // создание экземпляра класса Scanner
      Scanner sc = new Scanner(stream);
      ScannerExample obj = new ScannerExample();
      // вызов метода
      String result = obj.sampleMethod(sc);
      System.out.println("Файл содержимое:");
      System.out.println(result);
   }
}

Результат вывода

Файл содержимое:
oldtoolbag.com originated from the idea that there exists a class of readers who respond better to on-line
content and prefer to learn new skills at their own pace from the comforts of their drawing rooms.

Пример

В следующем примере мы создаем объект Scanner с источником стандартного ввода (System.in) и передаем его в метод в качестве параметра.

import java.io.IOException;
import java.util.Scanner;
public class ScannerExample {
   public void sampleMethod(Scanner sc){
      StringBuffer sb = new StringBuffer();
      System.out.println("Введите ваше имя:");
      String name = sc.next();
      System.out.println("Введите ваш возраст:");
      String age = sc.next();
      System.out.println("Привет " + name + " тебе " + age + " лет");
   }
   public static void main(String args[]) throws IOException {
      // создание экземпляра класса Scanner
      Scanner sc = new Scanner(System.in);
      ScannerExample obj = new ScannerExample();
      // вызов метода
      obj.sampleMethod(sc);
   }
}

Результат вывода

Введите ваше имя:
Krishna
Введите ваш возраст:
25
Привет, Krishna, тебе 25 лет
Дополнительные рекомендации