A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

String[] chinese = {"零","一","二","三","四","五","六","七","八","九"};
Scanner sc = new Scanner(System.in);
                while (true) {
                        System.out.println("请输入一个大于-1且小于1000的正整数");
                        try {
                                int num = sc.nextInt();
                                //print(num,chinese);
                                break;
                        } catch (Exception e) {
                                System.out.println("输入错误");
                        }                       
                }       
请大神回答:为什么报错?解决办法,为什么?

4 个回复

倒序浏览
补充:需要输入异常数据!
回复 使用道具 举报
public static void main(String[] args) {
                String[] chinese = {"零","一","二","三","四","五","六","七","八","九"};
                 InputStream in = System.in;
                while (true) {
            System.out.println("请输入一个大于-1且小于1000的正整数");
            try {
                    Scanner sc = new Scanner(in);
                        int num = sc.nextInt();
                break;
            } catch (Exception e) {
                    System.out.println("输入错误");
            }                       
        }  
        }
回复 使用道具 举报
public class Demo2 {
        public static void main(String[] args) {
                String[] chinese = {"零","一","二","三","四","五","六","七","八","九"};
                Scanner sc = new Scanner(System.in);
                String temp ="";//临时存取键盘输入的
                while (true) {
            System.out.println("请输入一个大于-1且小于1000的正整数");
            temp = sc.nextLine();
            try {
                        int num = Integer.parseInt(temp);
                          //print(num,chinese);
                break;
            } catch (Exception e) {
                    System.out.println("输入错误");
            }                       
        }  
        }
回复 使用道具 举报
gcno93 发表于 2016-9-23 23:56
public static void main(String[] args) {
                String[] chinese = {"零","一","二","三","四","五","六"," ...

  InputStream in = System.in;可以用 Scanner sc = new Scanner(System.in);代替,我是测试一下为什么才这样写的,可是还是找不出
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马