[英]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.