繁体   English   中英

Java:如何连续扫描输入?

[英]Java: How do I continuously scan for input?

我正在尝试用Java编写一个程序,该程序允许用户修改AddressBook。 我已经编写了创建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但只有在程序提示输入时才能使它正常工作,例如"Type an entry to add: " 在没有程序提示输入的情况下解决此问题的最佳方法是什么?

使用在此投入while你的退出条件:

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

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

现在,您已经在input中输入了用户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"时,该程序退出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM