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

来源:7-1 简易扑克牌游戏

沫语

2016-05-13 05:57

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());
	}
}


写回答 关注

3回答

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

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

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

    就是一个Integer类型的id

    慕粉_dmS... 回复沫语

    你可以先给赋值的屏蔽掉看看

    2016-05-13 15:03:33

    共 2 条回复 >

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

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

    沫语

    你的玩家类型id设置是什么?能看下程序吗

    2016-05-13 14:42:08

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题