java接收字符_java 接收字符

本文介绍了如何使用Java的Scanner类来接收字符,通过实例展示了reader.next().charAt(0)的用法,用于从输入流中读取并转换为char类型。同时,对比了reader.nextByte()与System.in.read()的区别,解释了为何reader.next().charAt(0)能正确接收字符而reader.nextByte()会抛出InputMismatchException异常。
摘要由CSDN通过智能技术生成

/ /读取一个字符用扫描仪与正则表达式

读卡器=新的扫描仪扫描仪(System.in);

reader.next(“。”)。的charAt(0); / /允许任何字符

reader.next(“\ \ D”)的charAt(0); / /一个数字

reader.next(“\ \ D”)的charAt(0); / /一个非数字

reader.next(“\ \ S”)的charAt(0); / /一个非空白字符

reader.next(“\ \ W”)的charAt(0); / /一个“字”的字符(字母和数字)

当输入一个字符,用reader.nextByte();接收字符时,报异常:

Exception in thread "main" java.util.InputMismatchException

at java.util.Scanner.throwFor(Unknown Source)

at java.util.Scanner.next(Unknown Source)

at java.util.Scanner.nextByte(Unknown Source)

at java.util.Scanner.nextByte(Unknown Source)

at Student.Judge(Student.java:30)

at Student.main(Student.java:94)

改成 reader.next().charAt(0);就好啦~~

【关于reader.next().charAt(0);】

reader.next():接收成string型

.charAt(0);   转成char

【关于reader.next().charAt(0);的0】

比如"abcde"

调用chatAt(0) 这个0就是该字符串中某一字符的索引

返回a

调用chatAt(1) 返回b

【Scanner vs System.in.read()】

Scanner—— reader.nextByte();不能接收字符  ->reader.next().CharAt(0);接收字符 ,用户输入1,则判断是否是'1' reader.nextInt();接收数字 Scanner vs System.in.read()—— S=reader.next().charAt(0);//字符串转成第一个字符 S=(char)System.in.read();//接收一串字符,转成若干个字符,对每个字符执行一次操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值