Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。
它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通
过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结
合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正
则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数
据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分
析器。
实例:
import java.util.*;
public class Example{
public static void main(String args[]){
System.out.println("请输入若干个数,每输入一个数用回车确认");
System.out.println("最后输入一个非数字结束输入操作");
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(reader.hasNextDouble()){
double x=reader.nextDouble();
m=m+1;
sum=sum+x;
}
System.out.printf("%d个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均值是%f\n",m,sum/m);
}
}
Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.
Scanner reader=new Scanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入
12.34,hasNextFloat()的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文
本行并且回车,该方法得到一个String类型的数据。
分享到:
相关推荐
在Java编程语言中,`java.util.InputMismatchException`是一个常见的运行时异常,它通常发生在尝试从数据源(如控制台、文件或数据库)读取数据时,遇到的数据类型与预期的不匹配。在这个特定的场景中,问题出在主线...
import java.util.Scanner; public class Test3 { public static void main(String[] args) { System.out.println("请您输入要打印的金字塔的行数: "); Scanner sca=new Scanner(System.in); int nu=sca....
` 是一个非常基础且重要的语句,它引入了`java.util.Scanner`类。这个类是Java标准库的一部分,主要用于从各种输入源读取数据,如键盘、文件、系统环境变量等。在这个场景中,我们看到的`main.java`文件很可能包含了...
`java.util.Scanner` 类是 Java 标准库中的一个实用工具类,它提供了一种方便的方式来读取基本类型的原始数据和字符串。`Scanner` 类可以读取从控制台输入的数据、文件中的数据,甚至是从字符串中的数据。 #### 二...
在"java代码-实训4-3 import java.util.Scanner"这个实训项目中,我们重点关注的是`java.util.Scanner`类,它是Java标准库的一部分,主要用于从各种输入源(如键盘、文件、系统环境变量等)读取数据。 `Scanner`类...
使用 Scanner 前需要导入包,语句为 `import java.util.Scanner;`。创建 Scanner 对象时需要指定输入源,通常使用 `System.in` 作为输入源,例如 `Scanner sc = new Scanner(System.in);`。 Scanner 的方法 ...
- `java.util.Date` 是旧版的日期时间API,使用不便,现在已经推荐使用`java.time`包中的类,如`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等,这些类提供了更强大和友好的日期时间操作。...
9. **`java.util.Scanner`**:方便从标准输入(键盘)、文件、系统属性等读取数据。 10. **`java.util.Collections`与`java.util.Comparator`**:Collections类提供了对集合的静态方法,如排序、反转、填充等;...
在Java编程语言中,`java.util.Scanner` 类是用于输入处理的一个重要工具。它提供了一种方便的方法来读取各种数据类型,如整数、浮点数、字符串等,从不同源,包括标准输入(键盘)、文件和系统属性。本教程将深入...
以下是28个Java开发者经常使用的工具类的概述,这些工具类涵盖了广泛的用途: 1. **`java.util.Arrays`**: 这个类提供了对数组进行排序、查找、复制等操作的方法,如`Arrays.sort()`用于排序数组,`Arrays.asList()...
4. **`java.util.Date`** 和 **`java.time`** 包:处理日期和时间,`java.time`包是Java 8引入的新API,更强大且易于使用。 5. **`java.util.Random`**:生成随机数,适用于各种随机算法或模拟场景。 6. **`java....
标题所提到的问题是关于Java编程中使用`Scanner`类时遇到的一个常见陷阱,即`NoSuchElementException`异常。这个异常通常发生在尝试从一个已经关闭或者无法提供输入的`Scanner`对象中读取数据时。下面我们将详细探讨...
19. **`java.util.Scanner`**:从标准输入、文件或其他输入流读取简单类型的数据。 20. **`java.util.regex`** 包:正则表达式处理,用于字符串的匹配和替换。 21. **`java.util.Comparator`**:用于自定义排序...
`java.util.Random`类用于生成随机数,`java.util.Scanner`用于从各种输入源读取数据,如键盘输入或文件。 总的来说,熟练掌握这些Java常用类对于提升编程效率和编写高质量代码至关重要。它们涵盖了数据存储、输入...
7. **`java.util.Scanner`**: 用于从标准输入(如键盘)读取用户输入的数据,支持多种数据类型。 8. **`java.util.concurrent` 包**: 提供了线程安全的数据结构和并发工具,如`ExecutorService`、`Semaphore`、...