Java示例。如何创建一个类似于社交媒体网站的类?

Java示例。如何创建一个类似于社交媒体网站的类?,java,Java,创建并实现一个类Person。一个人有名字和朋友。将好友的姓名存储为字符串,用空格分隔。提供一个构造函数,用于构造具有给定名称(通过参数传递)且没有朋友的人。提供以下方法: public void befriend(Person p) public void unfriend(Person p) public String getFriendNames() public int getFriendCount() *提示-您可以使用p.name访问作为参数传递给方法的人员的姓名 包括一个Test

创建并实现一个类Person。一个人有名字和朋友。将好友的姓名存储为字符串,用空格分隔。提供一个构造函数,用于构造具有给定名称(通过参数传递)且没有朋友的人。提供以下方法:

public void befriend(Person p)
public void unfriend(Person p)
public String getFriendNames()
public int getFriendCount()
*提示-您可以使用p.name访问作为参数传递给方法的人员的姓名

包括一个Tester类,以确保您的人有一些朋友

如何将朋友的姓名存储为字符串,并用空格分隔。(我必须能够输入主方法中的名称)。我也不知道如何使用“unfriend”方法摆脱已经输入的名字

主要方法:

public class PersonTester {


  public static void main(String[] args) { 
    Person p = new Person("Alex");
    p.befriend("John");
    p.befriend("Alice");
    p.befriend("Mike");
    p.befriend("Annette");
    p.unfriend("Alice");

    System.out.println(p.getFriendCount());
    System.out.println(p.getFriendNames());    
  }

}
预期产出:

2
John Mike

使用参数
(Person p)
的方法出现的问题是因为您有两个不同的变量:
friendName
(存在)和
name
(不存在)。将变量
friendName
更改为
name
将处理您收到的一些错误

(同样,方法
getFriendCount()
返回
friendsCount
,但应该返回
friendsCount
(其中有一个额外的s),并且您的作业调用名为
befriend
的方法,而不是
bestFriend

如何删除好友:

您可以通过从friendNames字符串中解析好友,然后将两个结果字符串重新连接在一起来删除好友:

 public void unfriend(String name)
{
    String[] parseNames = friendNames.split(name);
    friendNames = parseNames[0] + parseNames[1];
    friendCount--;
}
我建议更改befriend和unfriends参数以接受字符串而不是Person对象。Person已经有权访问它自己的对象,而在您的主应用程序中,您正试图以任何方式向它们传递字符串。以下是交朋友的样子:

 public void befriend(String name) //Changed to "befriend"
{
    friendNames = friendNames + " " + name;
    friendCount++;
}
另外,Person只需要一个构造函数,如下所示:

 public Person(String name)
{
    firstName = name;
    friendCount = 0;
}
当我运行您的程序(使用这些更改)时,我得到以下输出:

 2.0
  John  Mike

这看起来不像我见过的任何JavaScript。你的意思是哪一个不同于?对不起。我把它命名错了。我是编程新手。你的问题是什么?@ErwinBolwidt我如何将朋友的名字存储为字符串,用空格分隔。(我必须能够输入主方法中的名称)。我也不知道如何通过“unfriend”的方法摆脱已经输入的名字,如果投票被否决的人告诉我我的问题出了什么问题,我会很感激,这样我就不会再犯这个错误了。我还在玩它。firstName是实际的人名(在我刚刚粘贴的主方法中,它是Alex)。我不认为它可以用于朋友的名字。那么friendNames需要是名字。让我困惑的是,你可能认为你的教授会希望你给befriend和unfriend传递一个名字,但是你却传递了这个对象,这没有任何意义,因为那些方法已经可以访问它了。我刚刚看到你的评论,让我看看。当我添加我在回答中提到的更改时,你的程序对我来说运行良好。如果你仍然有问题,那可能是我忘记了我改变的东西。让我知道。
 2.0
  John  Mike