请问代码哪里错了
package com.imooc.flow; import java.util.Scanner; public class IntCompare { public static void main(String[] args) { //定义一个字符变量并初始化 Scanner sc=new Scanner(System.in); char ch=sc.next(); //使用switch结构判断是否为元音字母,并输出对应的信息 switch(ch){ case "a": System.out.println(ch+"是元音字母");break; case "e": System.out.println(ch+"是元音字母"); break; case "i": System.out.println(ch+"是元音字母");break; case "o": System.out.println(ch+"是元音字母");break; case "u": System.out.println(ch+"是元音字母");break; default: System.out.println(ch+"不是元音字母"); } } }
第10行报错不能把char转化为String 为什么
59
收起
正在回答 回答被采纳积分+1
2回答
慕莱坞6399919
2018-05-03 17:51:57
Java,Scanner中没有nextChar()这个method!!!
请用sc.next().charAt(0)取代!!!
next()取到字符串,然后用charAt()方法取到第一个字符!!!
好帮手慕珊
2017-06-15 09:38:13
sc.next();是从键盘接收字符串类型的数据,而ch是char类型的变量,所以会发生错误。两种解决方案:
1、因为你的代码中case语句后面是字符串,所以可以把char ch=sc.next();中的char 改成String就可以了。
2、如果想用字符类型,那么,char ch=sc.next();就要改成char ch=sc.next().charAt(0);也就是不论输入多少个字符,只取第一个。另外,还要把case 后面aeiou的双引号改为单引号,如:'a',因为单引号引起来的才表示字符。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星