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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘治广 中级黑马   /  2013-5-17 22:02  /  1493 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘治广 于 2013-5-17 22:49 编辑

package home_work;
import java.util.InputMismatchException;
import java.util.Scanner;
public class CaiZi {

        /**
         * @param args
         * InputMismatchException
         */
        public static void main(String[] args) {        
                System.out.println("你一共输入了"+guess()+"才猜对");
               

        }
        public static int guess() {
                int num=(int)(Math.random()*100+1);
                int min=1;
                int max=100;
                int count=0;
                while(true){
                        Scanner sc = new Scanner(System.in);
                        count++;
                        System.out.println("请输入"+min+"-"+max+"之间的整数");

                        int x=sc.nextInt();
                        if (num == x)
                        {
                                System.out.println("恭喜你猜对了");
                                break;
                        }
                        else if(num>x)
                        {
                                System.out.println("你输入的"+x+"数字小了");
                                min=x+1;
                        }
                        else if(num<x)
                        {
                                System.out.println("你输入的"+x+"大了");
                                max=x-1;
                        }        
                        
                }
                return count;
        }

}
这段代码怎么加异常啊,异常就是输入字符的时候能抛出异常

3 个回复

正序浏览
试了,就是这个样子,谢谢
回复 使用道具 举报
InputMismatchException这个异常怎么添加进去
回复 使用道具 举报
本帖最后由 王盟盟 于 2013-5-17 22:27 编辑

你把那段用来输入数据,判断数据的代码用try{}catch{}包起来就行了

import java.util.InputMismatchException;
import java.util.Scanner;
public class CaiZi {

/**
* @param args
* InputMismatchException
*/
public static void main(String[] args) {
System.out.println("你一共输入了"+guess()+"才猜对");
}
public static int guess() {
int num=(int)(Math.random()*100+1);
int min=1;
int max=100;
int count=0;
Scanner sc;
while(true){
try {
sc = new Scanner(System.in);
count++;
System.out.println("请输入"+min+"-"+max+"之间的整数");
int x=sc.nextInt();
if (num == x)
{
System.out.println("恭喜你猜对了");
break;
}
else if(num>x)
{
System.out.println("你输入的"+x+"数字小了");
min=x+1;
}
else if(num<x)
{
System.out.println("你输入的"+x+"大了");
max=x-1;
}

} catch (InputMismatchException e) {
System.out.println("请输入一个数字");
}
}
return count;
}
}


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马