读书人

表达能力有限把代码发上来解决办法

发布时间: 2012-01-15 22:57:49 作者: rapoo

表达能力有限,把代码发上来

Scanner input = new Scanner(System.in);
int choose = 0;
String isGoOn = null;
do{
System.out.println( "================================================ ");
System.out.println( "1.增加用户名 2.查询用户名 3.修改用户名 4.删除用户名 ");
System.out.println( "================================================ ");
System.out.println( "请选择 ");
if(input.hasNextInt()){
choose = input.nextInt();
switch(choose){
case 1:
System.out.println( "您选择了1 ");
break;
case 2:
System.out.println( "您选择了2 ");
break;
case 3:
System.out.println( "您选择了3 ");
break;
case 4:
System.out.println( "您选择了4 ");
break;
dafault:
System.out.println( "请输入正确的数字 ");
break;
}
}else{
System.out.println( "请输入正确的数字 ");
}
System.out.println( "是否继续操作(y/n) ");
isGoOn = input.next();
}while( "y ".equals(isGoOn));
以上代码执行过程中,如果在请 "选择后 "输入非int型的值就会提示 "请输入正确的数字 ",可是为什么在提示 "是否继续操作 "时无法从控制台输入呢?也就是isGoOn = input.next();不起作用了。但是如果我输入的时正确数字想循环时isGoOn = input.next();就起作用,可以在控制台输入。

[解决办法]
你上面的程序如果输入非int型的值,就直接被isGoOn获取啦,然后直接执行 "y ".equals(isGoOn);结束程序
[解决办法]
lz注意查一下你的代码 while( "y ".equals(isGoOn));
这里的"y "应该是"y"你多写了一个空格,所以导致 输入y回车没有想要的效果
你把最后一行改成while( "y".equals(isGoOn));
[解决办法]
再定义个String 变量 ,( 如GoOn)放在
GoOn=input.next();
System.out.println( "是否继续操作(y/n) ");
前面,用来接收前面输入的值就可以啦
------解决方案--------------------


帮楼主试了试,1楼为正解,不信你在请选择后输入y看看就知道了。
2楼提示得对,应该为"y".equals(...)。
[解决办法]
还有,default写错了
[解决办法]

探讨

lz注意查一下你的代码 while( "y ".equals(isGoOn));
这里的"y "应该是"y"你多写了一个空格,所以导致 输入y回车没有想要的效果
你把最后一行改成while( "y".equals(isGoOn));

[解决办法]
帮顶。方法前面已经说清楚了。
[解决办法]
搂主最好的还是自己单步调试下,你问的自己都会清楚。楼上各位说的对。
[解决办法]
Java code
import java.util.Scanner;public class XinTest {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        Scanner   input   =   new   Scanner(System.in);         int   choose;         String   isGoOn ,GoOn;         do{                 System.out.println( "================================================ ");                 System.out.println( "1.增加用户名     2.查询用户名     3.修改用户名     4.删除用户名 ");                 System.out.println( "================================================ ");                 System.out.println( "请选择 ");                 if(input.hasNextInt()){                         choose   =   input.nextInt();                         switch(choose){                         case   1:                                 System.out.println( "您选择了1 ");                                 break;                         case   2:                                 System.out.println( "您选择了2 ");                                 break;                         case   3:                                 System.out.println( "您选择了3 ");                                 break;                         case   4:                                 System.out.println( "您选择了4 ");                                break;                         default :                                System.out.println( "请输入正确的数字 ");                                 break;                         }                 }else{                         GoOn=input.next();                        System.out.println( "请输入正确的数字 ");                 }                                               System.out.println( "是否继续操作(y/n) ");                                 isGoOn   =   input.next();                        }while( "y".equals(isGoOn) );     }} 

读书人网 >J2SE开发

热点推荐