| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 660 人关注过本帖
标题:想排除字符的输入,应该怎么去操作----------------->大家请进
只看楼主 加入收藏
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
结帖率:96.43%
收藏
已结贴  问题点数:20 回复次数:9 
想排除字符的输入,应该怎么去操作----------------->大家请进
public void showShop()
  {
    System.out.println("欢迎使用我行我素购物系统1.0版");
    System.out.println("***************************************");
    System.out.print("\n\t\t1.登录系统");
    System.out.println("\n\n\t\t2.退出\n");
    System.out.println("***************************************");
    Scanner input = new Scanner(System.in);
    System.out.println("请选择,输入数字: ");
    int login = input.nextInt();
    switch (login)
    {
    case 1:
      mainmenu();
      break;
    case 2:
      System.out.println("拜拜,下次见!!!");
      break;
    default:
      System.out.println("输入错误,请检查!!!");
      showShop();
    }
}
搜索更多相关主题的帖子: 排除 字符 
2009-08-17 09:48
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:3 
int login = input.nextInt();//这个输入本来就是针对int的,不会输入字符串的

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2009-08-17 16:58
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
问题就是人输入字符就报错了。
   我想把它也排除

C#超级群 74862681,欢迎大家的到来!
2009-08-17 21:10
凤凰归
Rank: 2
等 级:论坛游民
帖 子:6
专家分:15
注 册:2009-8-17
收藏
得分:0 
在使用scanner的netInt()方法的时候,如果输入的值不匹配的话就会抛出这样的异常:InputMismatchException - 如果下一个标记与 Integer 正则表达式不匹配,或者超出范围 你可以使用try-catch,如果捕获到这个异常就怎么做.
2009-08-17 22:47
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
        还有其它的方法吗?
关于这try cash怎么去写到我那个里面。

C#超级群 74862681,欢迎大家的到来!
2009-08-18 13:50
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
我找资料搞了个。
  但是,不是很理解里面的意思。还请大家指导下。
比如说     catch(Exception e){}           //Exception是捕获所有的异常。 那么后面那个e代表什么意思呢。应怎么去理解。

C#超级群 74862681,欢迎大家的到来!
2009-08-18 14:27
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:5 
回复 6楼 gameohyes
Exception是捕获所有的异常。
这话错了
 在这里是多态了
 因为Exception是所有以Exception结尾的祖先类
 eg:
    如果你这里出来一个ClassNotFoundException的话
    它也是Exception 而后面的e就是对出现的异常实例的一个引用 你可以在这样 e.printStackTrace()

java群
62635216
欢迎加入
2009-08-18 20:01
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:12 
应该这样写,将可能出现异常的语句放到try里, 然后用catch来处理
    try {
        int login = input.nextInt();
            switch (login)
    {  
    case 1:
      mainmenu();
      break;
    case 2:
      System.out.println("拜拜,下次见!!!");
      break;
    default:
        System.out.println("输入错误,请检查!!!");
        showShop();
     
    }
      } catch (InputMismatchException e) {
          System.out.println("不能输入字符,请检查!!!");
          showShop();
           
      }

[ 本帖最后由 lampeter123 于 2009-8-18 20:08 编辑 ]

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-08-18 20:06
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
catch (InputMismatchException e)
   我这提示类型错误。
     我直接用catch (Exception e)就没事。
       对了,里边的 e  是什么意思。

C#超级群 74862681,欢迎大家的到来!
2009-08-18 22:43
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
以下是引用gameohyes在2009-8-18 22:43的发言:catch (InputMismatchException e)   我这提示类型错误。     我直接用catch (Exception e)就没事。       对了,里边的 e  是什么意思。
e是catch方法的形式参数,可以任意取名,它的类型是Exception

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-08-19 08:12
快速回复:想排除字符的输入,应该怎么去操作----------------->大家请进
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017598 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved