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;
} 展开
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;
} 展开
3个回答
展开全部
你把choose定义为整型了,输入的数必须是整型才能与switch中的case 选择比配执行system.out.print()如果想输入字符,将choose定义为char型,case为case'要输入的字符'就ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Scanner类对象中的nextInt()和nextLine()方法内部读取原理不同导致的,具体参考一下链接Scanner类控制台输入时出现直接跳过输入过程问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
input的定义贴出来看一下
追问
Scanner input=new Scanner(System.in);
用input.next()能输入,可是我要输入的是句子!有空格的
追答
str=input.nextLine(); //这一行运行时不能输入字符是为什么呢??????
把这一行换成str=input.next();就可以了
是nextline函数的问题
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |