java switch case,case下有多条语句,执行输入时不能输入字符的问题

intchoose=input.nextInt();switch(choose){case1:{System.out.println("输入含有字母和数字的句子:");s... int choose=input.nextInt();

switch(choose)
{
case 1:
{
System.out.println("输入含有字母和数字的句子:");
str=input.nextLine(); //这一行运行时不能输入字符是为什么呢??????
HomeWorkEighth hwe=new HomeWorkEighth();
for(int i=0;i<str.length();i++)
{
String s=str.substring(i,i+1);
hwe.showdianma(s);
System.out.print("/");
}
break;
}

case 2:
System.out.println("输入电码:");
break;
}
展开
 我来答
百度网友4099c54
2013-05-12
知道答主
回答量:14
采纳率:0%
帮助的人:13.9万
展开全部
你把choose定义为整型了,输入的数必须是整型才能与switch中的case 选择比配执行system.out.print()如果想输入字符,将choose定义为char型,case为case'要输入的字符'就ok了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赌神919
2022-10-22
知道答主
回答量:2
采纳率:0%
帮助的人:548
展开全部

Scanner类对象中的nextInt()和nextLine()方法内部读取原理不同导致的,具体参考一下链接Scanner类控制台输入时出现直接跳过输入过程问题

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
后弘雅8A
2013-05-12 · TA获得超过210个赞
知道答主
回答量:45
采纳率:0%
帮助的人:32.9万
展开全部
input的定义贴出来看一下
追问
Scanner input=new Scanner(System.in);

用input.next()能输入,可是我要输入的是句子!有空格的
追答
str=input.nextLine();        //这一行运行时不能输入字符是为什么呢??????
把这一行换成str=input.next();就可以了
是nextline函数的问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式