问答详情
源自:7-1 简易扑克牌游戏

问下大神,为啥我在输入id的时候输入整形的时候会直接跳到异常的输出中

public void createPlayer(){
	System.out.println("------------------创建玩家---------------------");

	int id;
	for(int i=0;i<2;i++){
		System.out.println("请输入第"+(i+1)+"位玩家ID和姓名");
		Scanner console=new Scanner(System.in);
		while(true){
			boolean isInt=true;
			try{
					System.out.println("输入ID:");
					id=console.nextInt();
					players[i].setId(id);
			}catch(Exception e){
				isInt=false;
				System.out.println("输入类型不匹配,请输入一个整数型ID!!!");
				String clear=console.next();
			}
		if(isInt)
			break;
		}
		System.out.println("输入姓名:");
		String name=console.next();
		players[i].setName(name);
	}
	for(int j=0;j<2;j++){
	System.out.println("---欢迎玩家:"+players[j].getName());
	}
}


提问者:沫语 2016-05-13 05:57

个回答

  • 梧桐墨雪
    2016-06-28 11:56:50

    是你的异常没有跳出语句啊,在try里的语句块执行完要直接跳过catch的语句块

  • 慕粉_dmSL
    2016-05-13 14:52:54

    就是一个Integer类型的id

  • 慕粉_dmSL
    2016-05-13 14:25:07

    我和你的玩家类设置不一样,但我把你处理异常的方式用过来是没有问题的。