使用Java的方法中将Scanner对象作为参数传递的语法是什么?


本文向大家介绍使用Java的方法中将Scanner对象作为参数传递的语法是什么?,包括了使用Java的方法中将Scanner对象作为参数传递的语法是什么?的使用技巧和注意事项,需要的朋友参考一下

直到Java 1.5从用户程序员那里读取数据之前,都依赖于字符流类和字节流类。

从Java 1.5开始引入Scanner类。此类接受File,InputStream,Path和String对象,使用正则表达式逐个令牌读取所有原始数据类型和String(从给定的源)令牌。

默认情况下,空格被视为定界符(将数据分成令牌)。

读取用来自源的各种数据类型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);
   }
}

输出结果

文件内容:
yiidian.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.

示例

在下面的示例中,我们创建一个具有标准输入(System.in)作为源的Scanner对象,并将其作为参数传递给方法。

import java.io.IOException;
import java.util.Scanner;
public class ScannerExample {
   public void sampleMethod(Scanner sc){
      StringBuffer sb = new StringBuffer();
      System.out.println("Enter your name: ");
      String name = sc.next();
      System.out.println("Enter your age: ");
      String age = sc.next();
      System.out.println("Hello "+name+" You are "+age+" years old");
   }
   public static void main(String args[]) throws IOException {
      //实例化Scanner类
      Scanner sc = new Scanner(System.in);
      ScannerExample obj = new ScannerExample();
      //调用方法
      obj.sampleMethod(sc);
   }
}

输出结果

Enter your name:
Krishna
Enter your age:
25
Hello Krishna You are 25 years old