java菜鸟求救 大师帮我看看这个switch为什么不运行

主要意思是说输入的必需要是“-”+一个字母才能运行这个switch,所以我就把用户的输入分成了两个部分,第一个是dash=input.next().charAt(0),第... 主要意思是说 输入的必需要是“-”+一个字母才能运行这个switch,所以我就把用户的输入分成了两个部分,第一个是dash = input.next().charAt(0),第二个是 cmd = input.next().charAt(1),然后用cmd做switch的条件,为什么不运行呢?该怎么改?
do {
System.out.print("Command Menu 菜单命令? : ");
String command = input.nextLine();
System.out.print(command);
dash = input.next().charAt(0);
cmd = input.next().charAt(1);
System.out.print(dash + "^"+cmd);//这一行不运行 也就是是说不读取 cmd和dash 应该怎么改?

switch (cmd){
case 'r':
case 'R':
//reset game score for both users
scoreTotal [0]= 0;
scoreTotal [1]= 0;
System.out.println("Resseting game scores...");
break;
case 'n':
case 'N':
readNames(2);
scoreTotal [0]= 0;
scoreTotal [1]= 0;
//for (int index=0;index<name.length;index++)
//getNames();//envoke method getNames

break;
case 'a':
case 'A':
//automatic mode
do{
GamePal(round,name,0);
scoreTotal[0]=Total+scoreTotal[0];

GamePal(round,name,1);
scoreTotal[1]=Total+scoreTotal[1];
round ++;
} while (dash !='-');
break;
case 'T':
case 't':

ShowTotal(round, name,scoreTotal); //display totalscores and round
case 'c':
case 'C':
//callenge mode
//int round = 1;
do{
do{
GamePal(round,name,0);
scoreTotal[0]=Total+scoreTotal[0];
}while (isPalindrome(pal));

do{
GamePal(round,name,1);
scoreTotal[1]=Total+scoreTotal[1];
}while (isPalindrome(pal));
round++;
}while (dash !='-') ;
break;
case 'Q':
case 'q':
System.out.println("GPal: Game completed on user request, Totals follow");
ShowTotal(round, name,scoreTotal);
cmd = 'Q';
break;
case '1':
do{
GamePal(round,name,0);
scoreTotal[0]=Total+scoreTotal[0];
round++;
}while (dash !='-');
break;
case '2':
do{
GamePal(round,name,1);
round++;
scoreTotal[1]=Total+scoreTotal[1];
}while (dash !='-');
break;
case '?':
menu();
break;
default:
System.out.println("Commond Error.");
break;
}// end switch
}while (cmd !='Q');
}// end main
展开
 我来答
百度网友42905dd
2011-04-09 · TA获得超过113个赞
知道答主
回答量:165
采纳率:0%
帮助的人:83.2万
展开全部
System.out.print("Command Menu 菜单命令? : ");
String command = input.nextLine();
System.out.print(command);
dash = input.next().charAt(0); ////////////////////////////// no.1
cmd = input.next().charAt(1); //////////////////////////no.2
System.out.print(dash + "^"+cmd);//这一行不运行 也就是是说不读取 cmd和dash 应该怎么改?///////////no.3

错误在这里 no.1和no.2执行了两次input.next();所以no.3打印第一次的charat0和第二次的charat1;
改为 String buf = input.next();
char dash = buf.charAt(0);
char cmd =buf.charAt(1);
yyy521fyy
2011-04-02 · TA获得超过3484个赞
知道大有可为答主
回答量:5392
采纳率:25%
帮助的人:3526万
展开全部
System.out.print(dash + "^"+cmd);//这一行不运行 也就是是说不读取 cmd和dash 应该怎么改?
//请把这行的错误提示贴出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-02
展开全部
看起来有点头晕,
如果你想知道switch怎么样的话,你可以找简单的代码看

如果你想要设计一个问题的解决方法的话,可以把问题先说清楚,说清楚了问题才能解决它
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式