Java:如何连续扫描输入?

标签 java oop input java.util.scanner

我正在尝试用 Java 编写一个程序,允许用户修改地址簿。我已经编写了创建 AddressBook 的代码以及允许对其进行修改的函数:

public class AddressBookEntry 
{
    private String name, phone, email;
    public AddressBookEntry(String name, String phone, String email)
    {
        this.name = name;
        this.phone = phone;
        this.email = email;
    }
    public String getName() 
    {
        return name;
    }
    public String getPhone() 
    {
        return phone;
    }
    public String getEmail() 
    {
        return email;
    }
}

import java.util.ArrayList;

public class AddressBook
{
    private ArrayList<AddressBookEntry> book = new ArrayList<AddressBookEntry>();
    public AddressBook(String bookname)
    {

    }
    public void addEntry(String name, String phone, String email)
    {
        book.add(new AddressBookEntry(name, phone, email));
    }
    public AddressBookEntry Search(String searchkey)
    {
        for (AddressBookEntry entry: book)
        {
            if (entry.getName() == searchkey)
                {
                    return entry;
                }
        }
    return null;
    }
    public void removeEntry(String searchkey)
    {
        AddressBookEntry removeentry = Search(searchkey);
        book.remove(removeentry);
    }
}

我现在正在尝试编写另一个使用用户输入来执行上述函数的类。我需要不断扫描输入。

我尝试过使用Scanner,但只能在程序提示输入时才能使其工作,例如“键入要添加的条目:”。在没有程序提示输入的情况下解决此问题的最佳方法是什么?

最佳答案

使用此方法将退出条件放入 while 中:

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

while (...) {
    System.out.print("Type an entry to add: ");
    String input = bufferedReader.readLine();
    ...
}

现在,您在input中就有了用户输入的字符串。

示例:

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

while (true) {
    System.out.print("Type an entry to add: ");
    String input = bufferedReader.readLine();
    if (input.equals("exit"))
        break;
    ...
}

当用户键入“exit”时,该程序退出。

关于Java:如何连续扫描输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28213505/

相关文章:

java - 如何在 blackberry +java 安装过程中获得权限和许可证警报

java - 显示 setter/getter

java - 如何让 Maven 构建在重复依赖项上失败?

java - 谷歌分析 403 : Forbidden with p12 key in Java

python - 对象或闭包 - 何时使用?

python - 使用 Pygments 检测代码片段的编程语言

css - 在网页上制作表格样式的信息展示

Java Swing : main class wait until JFrame is closed

html - 为 iOS 居中 HTML 输入字段

java - 如何在 jbutton 单击时将 jlabel 添加到另一个下面