java.util.Scanner 类是一个简单的文本扫描器可以分析基本类型和字符串使用正则表达式。以下是关于扫描器的要点:
-
一个扫描器使用分隔符模式分解它的输入,默认情况下与空白匹配。
-
扫描操作可能阻塞等待输入。
-
扫描器是不是安全的,无需外部同步多线程使用
//控制台输入
Scanner s = new Scanner(System.in);
System.out.println("请输入");
while(true){
String line = s.nextLine();
if(line.equals("exit")){
break;
}
System.out.print("exit");
}
分割方式
useDelimiter(Pattern pattern)改变token的分割方式,默认的是空格,传Pattern对象
useDelimiter(String pattern)改变token的分割方式,默认的是空格,传String
String str = "1.1 22.2 s 4 5.3 6 7.5 8 9";
Scanner scanner = new Scanner(str);
//scanner.useDelimiter("\\.");
while(scanner.hasNext()){
if(scanner.hasNext(Pattern.compile("\\d\\.\\d"))){
System.out.println(scanner.next());
}else{
scanner.next();//要调用一下next()相关的方法才会到下一个token
}
}
//其他方法
hasNext();查看是否有token的分割段
hasNextInt();查看是否有int类型的token的分割段
nextInt();返回下一个int的数值
nextLine();返回一行
相关推荐
当异常发生时,程序会打印一条错误消息,并调用`scanner.next()`来丢弃错误的输入,以便下次循环或尝试时可以从新的输入开始。 除了`nextInt()`,`Scanner`类还有其他方法可以安全地读取不同类型的数据,如`...
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....
double decimal = scanner.nextDouble(); ``` - 读取字符串: ```java String input = scanner.next(); ``` 3. **分隔符处理**:默认情况下,Scanner使用空白字符(空格、制表符、换行符)作为分隔符。如果...
### Java.util.Scanner 应用详解 #### 一、概述 `java.util.Scanner` 类是 Java 标准库中的一个实用工具类,它提供了一种方便的方式来读取基本类型的原始数据和字符串。`Scanner` 类可以读取从控制台输入的数据、...
可以使用`scanner.close()`方法实现。 通过这个实训,学生将深入理解如何在Java中处理用户输入,并学会编写简单的交互式程序。这是一项基础但至关重要的技能,为后续更复杂的编程任务打下坚实的基础。
使用 Scanner 前需要导入包,语句为 `import java.util.Scanner;`。创建 Scanner 对象时需要指定输入源,通常使用 `System.in` 作为输入源,例如 `Scanner sc = new Scanner(System.in);`。 Scanner 的方法 ...
int number = scanner.nextInt(); ``` 如果输入是浮点数,`nextInt()`会抛出`InputMismatchException`,此时需要使用`nextDouble()`。 #### 浮点数 使用`nextDouble()`读取浮点数: ```java double decimal = ...
16. **`java.util.Scanner`**: 从各种输入源读取基本类型和字符串。 17. **`java.util.Properties`**: 用于存储配置信息,如XML或Properties文件。 18. **`java.util.Random`**: 生成随机数。 19. **`java.util....
标题所提到的问题是关于Java编程中使用`Scanner`类时遇到的一个常见陷阱,即`NoSuchElementException`异常。这个异常通常发生在尝试从一个已经关闭或者无法提供输入的`Scanner`对象中读取数据时。下面我们将详细探讨...
4. **`java.util.Date`** 和 **`java.time`** 包:处理日期和时间,`java.time`包是Java 8引入的新API,更强大且易于使用。 5. **`java.util.Random`**:生成随机数,适用于各种随机算法或模拟场景。 6. **`java....
9. **`java.util.Scanner`**:方便从标准输入(键盘)、文件、系统属性等读取数据。 10. **`java.util.Collections`与`java.util.Comparator`**:Collections类提供了对集合的静态方法,如排序、反转、填充等;...
- `java.util.Date` 是旧版的日期时间API,使用不便,现在已经推荐使用`java.time`包中的类,如`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等,这些类提供了更强大和友好的日期时间操作。...
import java.util.Scanner; /** * 使用递归分割绘制迷宫 * * @author WangSong * * @Time 2020-6-22 */ abstract class Arithmetic { /** 路表示为1 */ public final int ROUND = 1; /** 墙表示为0 */ ...
19. **`java.util.Scanner`**:从标准输入、文件或其他输入流读取简单类型的数据。 20. **`java.util.regex`** 包:正则表达式处理,用于字符串的匹配和替换。 21. **`java.util.Comparator`**:用于自定义排序...
大家好,我是Ziph! 学生成绩管理系统实例 实现一个学生成绩管理的简单系统...import java.util.Scanner; /** * @Author Ziph * @date 2020/2/19 * @Email mylifes1110@163.com */ public class TestDemo implemen
import java.util.Scanner; public class AnimeShowGame { // 声明全局变量 private static ArrayList<String> characters = new ArrayList(); private static ArrayList<String> actions = new ArrayList(); ...