Scanner是Java中一个常用的输入工具,可以读取系统的标准输入,文件和其他输入流。我们可以利用Scanner来读取字符串。
Scanner类
Scanner类是Java中一个用于获取用户输入的类,它能够读取从键盘或文件输入的字符串,基本数据类型和正则表达式。Scanner类非常强大且易于使用,可以理解为一种扫描器,能够将用户的输入按照我们设置的分隔符进行分割,然后读取出其中的字符串或其他数据类型。
Scanner类的构造方法
首先,我们需要使用Scanner类进行对象的创建。Scanner提供了很多的构造方法:
- Scanner(File file):从File对象中读取数据
- Scanner(InputStream stream):从输入流中读取数据
- Scanner(String string):从字符串中读取数据
- Scanner(File file, String charsetName):从指定编码格式的File对象中读取数据
- Scanner(InputStream stream, String charsetName):从指定编码格式的输入流中读取数据
读取字符串
在Scanner类中,我们可以使用next()或nextLine()方法来读取字符串。其中,next()方法会返回输入中下一个标记的字符串,而nextLine()方法则会读取输入的下一行字符串。
示例代码:
```java
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = scanner.nextLine();
System.out.println("您输入的字符串是:"+str);
}
}
```
运行该程序,会输出“请输入字符串:”,用户输入字符后,程序会输出“您输入的字符串是:XXXX”。其中,XXXX就是用户所输入的字符串。
读取多个字符串
我们可以使用Scanner类的hasNext()方法来检查输入中是否还有其他字符串,如果有则继续读取下一个字符串。同时,我们可以使用next()方法来连续读取多个字符串,直到输入结束。
示例代码:
```java
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入多个字符串(以空格为分隔符):");
while(scanner.hasNext()){
String str = scanner.next();
System.out.println("您输入的字符串是:"+str);
}
}
}
```
运行该程序,会输出“请输入多个字符串(以空格为分隔符):”,用户输入若干个字符串后,程序会输出每个字符串。
读取整型等其他数据类型
Scanner也可以用来读取整型、长整型,浮点数等其他的数据类型。除了读取字符串,Scanner可以从用户输入中读取基本数据类型和字符串。我们可以使用scanner.nextInt()、scanner.nextDouble()、scanner.nextBoolean()等方法来读取输入的整型、浮点数和布尔型。
示例代码:
```java
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:");
int num = scanner.nextInt();
System.out.println("您输入的整数是:"+num);
}
}
```
运行该程序,会输出“请输入整数:”,用户输入整数后,程序会输出“您输入的整数是:XXXX”。其中,XXXX就是用户所输入的整数。
扫码领取最新备考资料