【问题标题】:While loop skippping my Scanners after 1 input [duplicate]1次输入后循环跳过我的扫描仪[重复]
【发布时间】:2021-08-04 19:10:45
【问题描述】:

嘿,我正在尝试制作一个电话联系项目,我开始创建一个addContact() void,它在无限循环中接受 2 个输入名称和电话号码。我的问题是输入姓名后不输入电话号码。你能帮我么?下面是我的代码

import java.util.*;

public class Problem {
private final Scanner scanner = new Scanner(System.in);
private final ArrayList<String> contactNames = new ArrayList<>();
private final ArrayList<Integer> contactNumbers = new ArrayList<>();
private final HashMap<String, Integer> contactMap = new HashMap<>();

public void addContact() {
    while (true) {
        System.out.println("Enter a phone number");
        int contactNumber = scanner.nextInt();
        if (contactNumbers.contains(contactNumber)) {
            System.out.println("This number is already given in your contacts");
            break;
        }
        System.out.println();
        System.out.println("Enter your contacts name");
        String name = scanner.nextLine();
        name = name.toLowerCase();
        if(contactNames.contains(name)){
            System.out.println("This name is already given in your contacts");
            break;
        }
        contactNumbers.add(contactNumber);
        contactNames.add(name);
        contactMap.put(name, contactNumber);
        System.out.println("Person is successfully added to your contacts, here is your all contacts below");
        System.out.println(contactMap);
        System.out.println("Do you want to quit?  -> 1=yes, 2=no");
        int quit = scanner.nextInt();
        if(quit==1)
            break;
    }
}

public static void main (String[] args){
    Problem a = new Problem();
    a.addContact();
}

}

【问题讨论】:

    标签: java loops while-loop hashmap java.util.scanner


    【解决方案1】:

    解决方案

    scanner.nextLine(); //add this line
    System.out.println();
    System.out.println("Enter your contacts name");
    

    这是为了摆脱用户输入电话号码并按下回车后创建的换行符。 更多信息来自这里:Scanner is skipping nextLine() after using next() or nextFoo()?

    【讨论】:

    • 感谢您的回答!
    • @coderZbro 欢迎您
    猜你喜欢
    • 2015-12-13
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2018-05-03
    • 2013-01-31
    • 1970-01-01
    相关资源
    最近更新 更多