Java Scanner 类
文件大小: 39k
源码售价: 10 个金币 积分规则     积分充值
资源说明:java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。   下面是创建 Scanner 对象的基本语法:   Scanner s = new Scanner(System.in);   接下来我们演示一个简单的的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据:   使用 next 方法: ScannerDemo.java 文件代码: import java.util.Scanner Java中的`Scanner`类是Java 5引入的一个新特性,属于`java.util`包,它提供了从各种输入源(如键盘、文件、网络连接等)读取基本类型数据和字符串的功能。`Scanner`类的使用极大地简化了用户输入处理。 创建`Scanner`对象的基本语法如下: ```java Scanner s = new Scanner(System.in); ``` 这里的`System.in`表示标准输入流,通常用于从键盘接收用户输入。在使用`Scanner`类获取输入之前,通常需要先使用`hasNext()`或`hasNextLine()`方法判断是否还有输入的数据。 ### 使用`next()`方法 `next()`方法用于读取用户的下一个标记,这个标记是一个由非空白字符组成的字符串。例如: ```java String str1 = scan.next(); ``` 当调用`next()`时,它会跳过所有前导空白,然后读取直到遇到第一个空白字符为止,不包含该空白字符。这意味着,如果用户输入"runoob com",`next()`只会返回"runoob",不会包含"com"。 ### 使用`nextLine()`方法 `nextLine()`方法则不同,它会读取一行直至遇到换行符或文件结尾。例如: ```java String str2 = scan.nextLine(); ``` 当使用`nextLine()`时,它会读取从当前位置到行尾的所有字符,包括空格。所以,对于"runoob com"的输入,`nextLine()`将返回完整的"runoob com"。 ### `next()`与`nextLine()`的区别 - `next()`必须读取到有效字符后才能结束输入,会自动忽略前导空白,只读取到第一个空白字符前的内容。 - `nextLine()`以Enter为结束符,会读取到回车符之前的所有字符,包括空格。 ### 输入基本类型数据 除了读取字符串,`Scanner`还支持读取基本类型的数值数据,如整数和浮点数。例如: ```java int i = 0; float f = 0.0f; System.out.print("输入整数:"); if (scan.hasNextInt()) { i = scan.nextInt(); System.out.println("整数数据:" + i); } else { System.out.println("输入的不是整数!"); } System.out.print("输入小数:"); if (scan.hasNextFloat()) { f = scan.nextFloat(); System.out.println("小数数据:" + f); } else { System.out.println("输入的不是小数!"); } ``` 在读取数值类型数据之前,使用`hasNextInt()`或`hasNextFloat()`进行验证,以确保输入的数据符合预期类型。 总结来说,`Scanner`类是Java中处理用户输入的重要工具,它提供了一种灵活的方式来读取各种类型的数据,包括字符串、整数、浮点数等。在实际编程中,`Scanner`的使用可以帮助我们更方便地从控制台获取用户输入,从而实现更复杂的交互式程序。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。