java - 我需要为我的类(class)项目创建一个 ArrayList

标签 java arrays

我已经写了我能写的,但我无法弄清楚为什么它不保存数据。下面是文件测试,然后是文件,以及我制作的数组文件。请帮忙...

$

import java.util.Scanner;

public class FriendsListTest

{

public static void main( String[] args)
{
    FriendsList friendsList = new FriendsList();

    char selection;
    Scanner input = new Scanner( System.in );
    do
        {
            //display menu
            System.out.println("\n--------------");
            System.out.println("Main Menu\n");
            System.out.println("1. Add a friend ");
            System.out.println("2. Delete a friend ");
            System.out.println("3. Show List ");
            System.out.println("4. Exit");

            //selection results
            selection = input.next().charAt(0);

            switch(selection){
            case '1':
                FriendsList.AddFriends();
                break;
            case '2':
                FriendsList.RemoveFriend();
                break;
            case '3':
                FriendsList.DisplayArray();     
                break;
            case '4':
                break;
            default:
                System.out.println("Invalid Selection");
        }//end Switch   

}while( selection != 4);//end do

}//end main

}//end FriendsListTest

$ $

import java.util.Scanner;
import java.util.ArrayList;

public class FriendsList
{

public static void AddFriends()
{
    Scanner input = new Scanner( System.in );
    ArrayList<Friends> friend = new ArrayList<Friends>(20);

    System.out.println("\n--------------");
    System.out.println("Please enter Name");
    String name = input.nextLine(); //reads name
    System.out.println("Please enter Age");
    int Age = input.nextInt();
    friend.add(new Friends( Age, name));

}//end AddFriends
public static void RemoveFriend()
{
    ArrayList<Friends> friend = new ArrayList<Friends>(20);
    Scanner input = new Scanner( System.in );

    System.out.println("\n--------------");
    System.out.println("Please enter Name of person you wish you remove");
    String name = input.nextLine();
    friend.remove(name);

}//End RemoveFriend
public static void DisplayArray()
{
    ArrayList<Friends> friend = new ArrayList<Friends>(20);
    System.out.print(friend);

}//end DisplayArray

 }//end class FriendsList

$ $

 class Friends
 {
    private String nName;
    private int nAge;
    public Friends(int Age, String name)
{
    nName = name;
    nAge = Age;
}
public String getName()
{
    return nName;
}
public int getAge()
{
    return nAge;
}
}//end class person

好的,根据您的建议,我能够让它存储数据,但现在我遇到了删除数据的问题。删除数据时不会引发任何错误,但数据仍然存在。如果您按照我所做的编辑,我会重新发布该程序。

最佳答案

每当您想要添加或删除好友时,您都会创建一个新的 ArrayList,而不是对类的 ArrayList 进行操作。请做后者而不是前者。换句话说,给你的类(class)一个 ArrayList<Friend>变量并在该数组列表上添加和删除好友。

关于java - 我需要为我的类(class)项目创建一个 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098880/

相关文章:

java - 抽象类实现接口(interface)

php - 在 PHP 上解析来自 base64 的 csv 文件

java - 应用 Intellij 代码改进建议

java - 如何在 JSP 中获取 NullPointerException 的详细信息?

java - IBM Watson Assistant、Telegram 和 Python

C++ 将字符转换为字节数组

c++ - 从结构数组中提取结构成员

c - 使用双指针打印指针数组

c# - 为什么我不能使用索引器将项目添加到通用列表?

java - 提高 bufferedImage.drawImage 的性能