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 展开
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 展开
展开全部
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);
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);
展开全部
System.out.print(dash + "^"+cmd);//这一行不运行 也就是是说不读取 cmd和dash 应该怎么改?
//请把这行的错误提示贴出来。
//请把这行的错误提示贴出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-02
展开全部
看起来有点头晕,
如果你想知道switch怎么样的话,你可以找简单的代码看
如果你想要设计一个问题的解决方法的话,可以把问题先说清楚,说清楚了问题才能解决它
如果你想知道switch怎么样的话,你可以找简单的代码看
如果你想要设计一个问题的解决方法的话,可以把问题先说清楚,说清楚了问题才能解决它
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询