java控制台怎么回车而不运行_JAVA - 控制台输入方法

本文详细介绍了Java中控制台输入的多种方法,包括Scanner类的使用,如hasNext、nextInt、nextLine等方法及其注意事项,如nextLine()与next()的配合问题。还提到了Console类在原始控制台输入中的应用,以及System.in的简单读取和InputStreamReader与BufferedReader的组合使用。最后讨论了不同方法的优缺点,如Scanner适合读取基本类型和字符串,而Console更适合安全地读取密码。
摘要由CSDN通过智能技术生成

方法1:Scanner类

Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。

类加载import java.util.Scanner;

用给定的输入流创建一个Scanner对象:Scanner in = new Scanner(InputStream in);

Scanner类的构造器

可以从字符串(Readable)、输入流、文件等等来直接构建Scanner对象,有了Scanner了,就可以逐段(根据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。

Scanner类中的方法Scanner in = new Scanner(System.in);

//检测输入中是否还有其他单词

boolean bn = in.hasNext();

boolean bnl = in.hasNextLine();

boolean bni = in.hasNextInt();

boolean bnd = in.hasNextDouble();

//输入一行(包含空格)

String str = in.nextLine();

//读取一个单词(以空白符作为分隔符),只读空格之前的数据,并且cursor指向本行

//从遇见的第一个有效字符(非空格,非换行符)开始扫描,

//当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。

String firstName = in.next();

//读取一个整数,只读取数值,剩下”\n”还没有读取,并将cursor放在本行中

int age = in.nextInt();

//读取一个浮点数

double num = in.nextDouble()

上述方法执行时都会造成堵塞,等待用户在命令行输

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值