为什么定义一个字符变量ch并初始化要使用第一行和第三行,分别是什么意思

为什么定义一个字符变量ch并初始化要使用第一行和第三行,分别是什么意思

Scanner sc = new Scanner(System.in);

        System.out.println("请输入一个元音字母:");

        char ch = sc.next().charAt(0);


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,str.charAt(int i)表示取出字符串str中第i个字符,返回值是char类型

如下图

http://img1.sycdn.imooc.com//climg/5ef6adba098c827d04600164.jpg

用Scanner接收了一个字符串a,String a=sc.next(); 这个变量a是字符串,但是我们需要接收一个字符类型的,就可以使用charAt(0)来将字符串转为字符;char ch = a.charAt(0);

如果同学是直接定义char ch = ‘a’,就不用使用charAt(0);如果是使用了Scanner语句,需要用charAt(0)把字符串转为字符;同学直接定义的字符,就可以不用使用

如果我解决了你的疑惑,请采纳!祝学习愉快~

好帮手慕小尤 2020-06-24 15:33:46

同学你好,1. 明明是只幼刀同学回答是正确的。  

2. charAt(0):取出字符串s中的第1个字符。使用原因:Scanner中没有直接接受char类型数据的方法,next()是接收String类型,所以需要先接收String类型数据,然后使用charAt(0)的方式将其转换为char类型数据。

如果我解决了你的疑惑,请采纳!祝学习愉快~

  • 你好 这个语句中charAt(0),前面似乎并没有提到 所以我就直接没有用scanner的输入语句 直接char ch='a'; 了 不太清楚这个到底是哪里有的代表什么意思
    2020-06-25 20:17:21
明明是只幼刀 2020-06-24 03:59:25

Scanner sc = new Scanner(System.in);

char ch = sc.next().charAt(0);

表示从键盘获取一次输入,并将输入的值赋给char类型的ch

  • 提问者 啸3098876 #1
    那charAT(0)是什么意思
    2020-06-24 10:32:43
  • 明明是只幼刀 回复 提问者 啸3098876 #2
    愿意是获取键盘输入的一个字符,但如果你输入了多个字符,如何满足只获取第一个字符并且不会让代码报错,就是用charAt(0)将你输入的字符串中第1个字符提取出来,再赋值给char类型的ch
    2020-06-24 13:08:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师