H5W3
当前位置:H5W3 > 其他技术问题 > 正文

这个方法怎么写,才不会让它进入死循环?

public void playCard() {
    System.out.println("--------------创建玩家!---------------");
    int a = 1;
    while(a<=2) {
        System.out.println("请输入第"+a+"位玩家的ID和姓名:");
        System.out.println("输入Id:");
        int Id;
        try {
        Id = sc.nextInt();
        } catch (InputMismatchException e) {
            System.out.println("请输入整数类型的ID!");
            continue;
        }
        System.out.println("输入姓名:");
        String Name = sc.next();
        Palyer pl = new Palyer(Id, Name);
        playerAll.put(Id,pl);
        a++;
    }

控制台一直给我循环输出,不知道怎么解决,求大神教我

clipboard.png

回答:

public void playCard() {
        System.out.println("--------------创建玩家!---------------");
        int a = 1;
        while(a <= 2) {
            System.out.println("请输入第" + a + "位玩家的ID和姓名:");
            System.out.println("输入Id:");
            int Id;
            Scanner sc = new Scanner(System.in);
            try {
                Id = sc.nextInt();
            } catch(InputMismatchException e) {
                System.out.println("请输入整数类型的ID!");
                continue;
            }
            System.out.println("输入姓名:");
            String Name = sc.next();
            // Palyer pl = new Palyer(Id, Name);
            // playerAll.put(Id,pl);
            a++;
        }

    }

改造之后的方法中加多一句:

// 将标准输入(控制台输入)链接到Scanner中;
Scanner sc = new Scanner(System.in);

回答:

尴尬,还是溜了

本文地址:H5W3 » 这个方法怎么写,才不会让它进入死循环?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址