请问代码哪里错了
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 星