一文带你掌握Java中Scanner类的使用
Scanner类是Java中很常用的一个类,它可以读取用户在控制台上的输入数据。在处理用户输入数据的时候,使用Scanner类可以大大简化代码,并且提高开发效率。本文将详细介绍Scanner类的使用方法,包括Scanner类的创建、读取不同数据类型、异常处理等内容,希望能帮助Java初学者快速掌握Scanner类的应用。
创建Scanner对象
Java中使用Scanner类需要先创建Scanner对象。创建Scanner对象有两种方式:
从标准输入流中创建
从标准输入流中创建Scanner对象,即从控制台读取用户输入数据,需要通过System.in实现。
Scanner scanner = new Scanner(System.in);
从字符串中创建
除了从标准输入流中创建Scanner对象,还可以从字符串中创建Scanner对象。这在对于字符串的操作时非常有用。
String s = "this is a test string.";
Scanner scanner = new Scanner(s);
读取不同的数据类型
Scanner类可以读取不同数据类型的输入,在读取数据的时候需要根据实际类型进行相应的转换。
读取字符串
在读取字符串的时候,可以使用next()方法。这个方法会读取输入流中的下一个字符串,在遇到空格或者换行符时停止。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的名字:");
String name = scanner.next();
System.out.println("您好," + name);
读取整数
在读取整数的时候,可以使用nextInt()方法。这个方法会读取输入流中的下一个整数,并且返回int类型的结果。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的年龄:");
int age = scanner.nextInt();
System.out.println("您的年龄是:" + age);
读取浮点数
在读取浮点数的时候,可以使用nextFloat()和nextDouble()方法。这两个方法会分别读取输入流中的下一个单精度浮点数和双精度浮点数,并且返回对应的结果。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的身高:");
float height = scanner.nextFloat();
System.out.println("您的身高是:" + height + "m");
异常处理
在读取用户输入数据的时候,不可避免地会出现输入数据类型与代码预期不符的情况。比如,当代码需要读取整数类型数据时,但用户输入了一个字符串数据。处理这种异常情况可以使用try-catch语句块。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的年龄:");
try {
int age = scanner.nextInt();
System.out.println("您的年龄是:" + age);
} catch (InputMismatchException e) {
System.out.println("输入的数据类型错误,请重新输入。");
}
示例演示
接下来我们来看一下一个完整的示例,通过Scanner类读取用户输入的学生信息并进行处理。
import java.util.Scanner;
public class Student {
private String name;
private int age;
private float height;
public Student(String name, int age, float height) {
this.name = name;
this.age = age;
this.height = height;
}
public void display() {
System.out.println("您输入的学生信息如下:");
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("身高:" + height + "m");
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.next();
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
System.out.print("请输入学生身高:");
float height = scanner.nextFloat();
Student student = new Student(name, age, height);
student.display();
}
}
以上代码中,我们首先创建了一个Student类,包含了学生的姓名、年龄、身高等信息。在main方法中,我们通过Scanner类读取用户输入的学生信息,并且创建一个Student对象,最后调用了display()方法,将学生信息输出到控制台上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你掌握Java中Scanner类的使用 - Python技术站