nextint防止执行nextLine

时间:2016-12-08 21:24:22

标签: java java.util.scanner

我有一种添加剧集/多集的方法,使用sc.nextInt进行验证,然后使用sc.nextLine输入episode(s)的名称。

但是,sc.nextInt会阻止sc.nextLine执行。我尝试从字符串中解析整数,但这会导致输入不匹配。在两者之间放置sc.nextLine也不起作用。有什么提示吗?

public void addepisodes(Scanner sc) {

int arraylistlength;

System.out.println("How many Episodes are in this Series?");

boolean valid=false;

    do{

    if(sc.hasNextInt()){

        valid=true;

        arraylistlength = Integer.parseInt(sc.nextLine());

        System.out.println("Please enter List of Episodes");
        for (int i = 0; i < arraylistlength; i++) {
            System.out.println("Episode " + (i + 1));
            String nextEp = sc.nextLine();
            list_of_episodes.add(nextEp);

                              }
                       }
    else{
        System.out.println("Error, input an integer");
        sc.next();
        }
    }while(!valid);
                 } 

0 个答案:

没有答案