【发布时间】:2017-01-11 14:29:29
【问题描述】:
我需要使用用户输入从ArrayList 中删除一个元素。
并不是真正寻求解决方案,而是更多地寻求正确方向的指导。
public class BFFHelper
{
ArrayList<BestFriends> myBFFs;
Scanner keyboard = new Scanner(System.in);
public BFFHelper()
{
myBFFs = new ArrayList<BestFriends>();
}
public void addABFF()
{
System.out.println("Enter a first name: ");
String firstName = keyboard.next();
System.out.println("Enter a last name: ");
String lastName = keyboard.next();
System.out.println("Enter a nick name: ");
String nickName = keyboard.next();
System.out.println("Enter a phone number: ");
String cellPhone = keyboard.next();
BestFriends aBFF = new BestFriends(firstName, lastName, nickName, cellPhone);
myBFFs.add(aBFF);
}
public void changeABFF()
{
System.out.println("I am in changeBFF");
}
public void removeABFF()
{
//System.out.println("I am in removeABFF");
System.out.print("Enter friend's name to remove: ");
int i = 0;
boolean found = false;
while (i<myBFFs.size() && !found)
{
if (myBFFs.get(1).getfirstName().equalsIgnoreCase(firstName)) && (myBFFs.get(1).hetlastName().equalsIgnoreCase(lastName))
i++
}
}
public void displayABFF()
{
System.out.println("My Best Friends Phonebook is: ");
System.out.println(myBFFs);
}
}
这就是我的主要课程
public class BestFriends {
private static int friendNumber = 0;
private int friendIdNumber;
private String firstName;
private String lastName;
private String nickName;
private String cellPhoneNumber;
public BestFriends (String aFirstName, String aLastName, String aNickName, String aCellPhone)
{
firstName = aFirstName;
lastName = aLastName;
nickName = aNickName;
cellPhoneNumber = aCellPhone;
friendIdNumber = ++friendNumber;
}
public String getFirstName()
{
return firstName;
}
public String getLastName()
{
return lastName;
}
public String getNickName()
{
return nickName;
}
public String getCellPhone()
{
return cellPhoneNumber;
}
public int getFriendId()
{
return friendIdNumber;
}
public String toString()
{
return friendIdNumber + ". " + firstName + " (" + nickName + ") " + lastName + "\n" + cellPhoneNumber + "\n";
}
}
【问题讨论】:
-
你知道如何获取用户输入吗?或者您是否坚持删除元素的逻辑?
-
命名提示:如果一个类被称为 BestFriends;我希望它以某种方式处理“复数”;就像了解两个最好的朋友一样。但看起来你的班级只知道一个简单的人(有一些 id)。所以,这里有一些误解——要么你的班级有错误的名字;要么或者它的内容根本不反映它的名字!
-
提示:覆盖
BestFriends中的equals和hashCode方法,你就可以使用List::remove删除它。
标签: java arrays arraylist while-loop element