Java 使用数组存储来自用户的输入

Java 使用数组存储来自用户的输入,java,arrays,Java,Arrays,我目前正在从事这个项目: 创建一个简单的Friends类,至少包含以下内容: -姓名和年龄字段 -合适的构造器 -获取/设置方法 -toString()方法 创建朋友的ArrayList 写一个程序来管理你的朋友列表 使用以下选项从菜单运行程序: -添加朋友 -开除朋友 -显示所有好友 -出口 我已经走了一段路,但我不确定我的方向是否正确 以下是到目前为止我得到的信息: import java.util.ArrayList; import java.util.Scanner; public c

我目前正在从事这个项目:

  • 创建一个简单的Friends类,至少包含以下内容:

    -姓名和年龄字段

    -合适的构造器

    -获取/设置方法

    -toString()方法

  • 创建朋友的ArrayList

  • 写一个程序来管理你的朋友列表

  • 使用以下选项从菜单运行程序:

    -添加朋友

    -开除朋友

    -显示所有好友

    -出口

  • 我已经走了一段路,但我不确定我的方向是否正确

    以下是到目前为止我得到的信息:

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Friends
    {
        public static void main( String[] args )
        {
            int menu;
            menu = 0;
            int choice;
            choice = 0;
    
    
            Scanner input = new Scanner(System.in);
            ArrayList< Friends > name = new ArrayList<  >();
            ArrayList< Friends > age = new ArrayList<  >();
    
            System.out.println(" 1. Add a Friend ");
            System.out.println(" 2. Remove a Friend ");
            System.out.println(" 3. Display All Friends ");
            System.out.println(" 4. Exit ");
            menu = input.nextInt();
    
            while(menu != 4)
            {    
    
            switch(menu)
            {                     
    
            case 1:
                while(choice != 2)
                {
                    System.out.println("Enter Friend's Name: ");
                    name.add = input.next();
                    System.out.println("Enter Friend's Age: ");
                    age.add(input.nextInt());                    
                    System.out.println("Enter another? 1: Yes, 2: No");
                    choice = input.nextInt();
                } break;
    
                case 2:
                    System.out.println("Enter Friend's Name to Remove: ");
                    name.remove(input.next()); break;
    
                case 3:
                    for(int i = 0; i < name.size(); i++)
                    {
                    System.out.println(name.get(i));
                    }
                    for(int k = 0; k < age.size(); k++)
                    {    
                    System.out.println(age.get(k));
                    }break;
            }
            System.out.println(" 1. Add a Friend ");
            System.out.println(" 2. Remove a Friend ");
            System.out.println(" 3. Display All Friends ");
            System.out.println(" 4. Exit ");
            menu = input.nextInt();
            }
            System.out.println("Thank you and goodbye!");
    }
    
    
    public String name;
    public int age;
    
    public Friends( String friendsName, int friendsAge )
    {
        this.name = friendsName;
        this.age = friendsAge;
    }
    public String toString()
    {
        return super.toString();
    }
    public void setName( String friendsName )
    {
        name = friendsName;
    } 
    public void setAge( int friendsAge )
    {
        age = friendsAge;
    }
    public String getName()
    {
        return name;
    }
    public int getAge()
    {
        return age;
    }
    }   
    
    import java.util.ArrayList;
    导入java.util.Scanner;
    公课朋友
    {
    公共静态void main(字符串[]args)
    {
    int菜单;
    菜单=0;
    智力选择;
    选择=0;
    扫描仪输入=新扫描仪(System.in);
    ArrayListname=新建ArrayList<>();
    ArrayListage=新ArrayList<>();
    System.out.println(“1.添加朋友”);
    System.out.println(“2.删除好友”);
    System.out.println(“3.显示所有好友”);
    System.out.println(“4.Exit”);
    menu=input.nextInt();
    while(菜单!=4)
    {    
    开关(菜单)
    {                     
    案例1:
    while(选项!=2)
    {
    System.out.println(“输入朋友的姓名:”);
    name.add=input.next();
    System.out.println(“输入朋友的年龄:”);
    age.add(input.nextInt());
    System.out.println(“输入另一个?1:是,2:否”);
    choice=input.nextInt();
    }中断;
    案例2:
    System.out.println(“输入要删除的朋友的姓名:”);
    name.remove(input.next());break;
    案例3:
    对于(int i=0;i
    我有几个问题:


  • 如何利用Friends类存储用户输入?(第34行和第36行有什么问题?)
  • 当我显示好友时,会显示以下内容:

    约翰

    杰夫
    22
    24
    二十六

  • 我想把名字和年龄放在一起,而不是排成一行。任何帮助都将不胜感激

    这就是我现在所处的位置,但我把事情搞砸了,现在它不允许我在“FriendsTest f=new FriendsTest();”中添加参数,但当我不这样做时,我的朋友列表只会显示“null 0”

    包友;
    导入java.util.ArrayList;
    导入java.util.Scanner;
    公共课友谊赛
    {
    公共静态void main(字符串[]args)
    {
    int菜单;
    智力选择;
    选择=0;
    扫描仪输入=新扫描仪(System.in);
    ArrayListfriends=新的ArrayList<>();
    System.out.println(“1.添加朋友”);
    System.out.println(“2.删除好友”);
    System.out.println(“3.显示所有好友”);
    System.out.println(“4.Exit”);
    menu=input.nextInt();
    while(菜单!=4)
    {    
    开关(菜单)
    {                     
    案例1:
    while(选项!=2)
    {
    System.out.println(“输入朋友的姓名:”);
    String name=input.next();
    System.out.println(“输入朋友的年龄:”);
    int age=input.nextInt();
    FriendsTest f=新的FriendsTest(姓名、年龄);
    加上(f);
    System.out.println(“输入另一个?1:是,2:否”);
    choice=input.nextInt();
    }中断;
    案例2:
    System.out.println(“输入要删除的朋友的姓名:”);
    删除(input.next());中断;
    案例3:
    对于(int i=0;i
    假设
    名称
    年龄
    数组大小相同,您可以执行以下操作:

    case 3:
                    for(int i = 0; i < name.size(); i++)
                    {
                    System.out.println(name.get(i) + age.get(i));
                    }     
    

    以下内容未编译,因为年龄已定义为类型
    ArrayList

    要更正显示,请修改
    情况3
    以使用单个
    For
    循环,并在其中使用单个
    println()

    case 3:
        for(int i = 0; i < name.size(); i++)
        {
            System.out.println(name.get(i) + " " + age.get(i));
        }
        break;
    
    案例3:
    对于(int i=0;i
    您应该使用一个ArrayList来存储所有信息。如果朋友
    ArrayList<Friends> friendList = new ArrayList<Friends>();
    string name ="";
    int age ="";
    
                System.out.println("Enter Friend's Name: ");
                name = input.next();
                System.out.println("Enter Friend's Age: ");
                age = input.nextInt();
                friendList.Add(new Friends(name,age);  
    
    age.add(input.nextInt()); // can't add an `Integer` to a list of `Friends`
    
    case 3:
        for(int i = 0; i < name.size(); i++)
        {
            System.out.println(name.get(i) + " " + age.get(i));
        }
        break;
    
    name.Remove(input.next());
    
    for(Friend cFriend:friends){
        System.out.println(cFriend.getName()+"\t"+cFreind.getAge());
    
    ArrayList<Friends> friends = new ArrayList<>();
    
     while (choice != 2) {
           System.out.println("Enter Friend's Name: ");
           String name = input.next();
           System.out.println("Enter Friend's Age: ");
           String age= input.nextInt();
           Friends f = new Friends(name, age);
           friends.add(f);
           System.out.println("Enter another? 1: Yes, 2: No");
           choice = input.nextInt();
      }
    
    for(int i=0;i<friends.length;i++) {
       friends.get(i).toString();
    }
    
    public void toString()
    {
        System.out.println(this.getName() + " " + this.getAge());
    }
    
    ArrayList<Friends> listOfFriends = new ArrayList<Friends>();
    
    listOfFriends.add(new Friends(name, age));
    
    listOfFriends.remove(new Friends(name, age));
    
    for(int i = 0; i < name.size(); i++)
    {
        System.out.println(listOfFriends.get(i).name + " " + listOfFriends.get(i).age);
    }
    break;