Java中Scanner函数的用法
Scanner是Java提供的一个用于读取输入的类,可以从标准输入、文件中或者字符串中读取数据。下面将介绍Scanner类常用的方法和用法。
1. 创建Scanner对象
在使用Scanner之前,需要创建一个Scanner对象。常见的创建方式有以下几种:
- 从标准输入创建Scanner对象
Scanner scanner = new Scanner(System.in);
通过System.in创建的Scanner对象可以从控制台读取用户的输入。
- 从文件创建Scanner对象
File file = new File("file.txt");
Scanner scanner = new Scanner(file);
通过文件创建的Scanner对象可以从指定的文件中读取数据。
- 从字符串创建Scanner对象
String input = "Hello Java";
Scanner scanner = new Scanner(input);
通过字符串创建的Scanner对象可以从指定的字符串中读取数据。
2. 读取不同类型的数据
Scanner提供了一系列的方法用于读取不同类型的数据,常见的方法如下:
- nextByte(): 读取一个字节类型的数据。
- nextShort(): 读取一个短整型数据。
- nextInt(): 读取一个整型数据。
- nextLong(): 读取一个长整型数据。
- nextFloat(): 读取一个单精度浮点型数据。
- nextDouble(): 读取一个双精度浮点型数据。
- next(): 读取一个字符串类型的数据,默认以空格作为分隔符。
- nextLine(): 读取一行字符串类型的数据。
下面是一个使用示例:
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("您输入的整数是:" + num);
3. 判断输入是否有效
Scanner提供了一些方法用于判断输入是否有效,常见的方法如下:
- hasNextByte(): 判断下一个输入是否为字节。
- hasNextShort(): 判断下一个输入是否为短整型。
- hasNextInt(): 判断下一个输入是否为整型。
- hasNextLong(): 判断下一个输入是否为长整型。
- hasNextFloat(): 判断下一个输入是否为单精度浮点型。
- hasNextDouble(): 判断下一个输入是否为双精度浮点型。
- hasNext(): 判断是否还有下一个输入,默认以空格作为分隔符。
- hasNextLine(): 判断是否还有下一行输入。
下面是一个使用示例:
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
if(scanner.hasNextInt()){
int num = scanner.nextInt();
System.out.println("您输入的整数是:" + num);
} else {
System.out.println("输入无效!");
}
4. 设置定界符
Scanner类默认的分隔符是空格,可以通过调用useDelimiter()方法设置定界符,定界符可以是正则表达式。
例如,可以通过下面的代码将定界符设置为逗号:
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter(",");
String str = scanner.next();
System.out.println("您输入的字符串是:" + str);
5. 关闭Scanner对象
在使用完Scanner对象后,应该调用close()方法关闭该对象以释放资源。
以上就是Scanner类的用法。Scanner是一个非常常用且灵活的工具类,可以方便地读取标准输入、文件或者字符串中的数据,并且提供了多种方法来满足不同的需求。
