Java Java Objects Delivering the MVP Forum

mark niles
mark niles
2,134 Points

Need some help ASAP!!!!! :(

i can't sole the task 4

  • After you uncomment the code in Main.java and Forum.java, fix the code as described in the comments of Main.java. Task 4
Forum.java
public class Forum {
private String topic;
private forum(String topic){
  mtopic=topic;
}

  // TODO: add a constructor that accepts a topic and sets the private field topic

  public String getTopic() {
    return topic;
  }



  public void addPost(ForumPost post) {
    System.out.printf("A new post in %s topic from %s %s about %s is available",
            topic,
            post.getAuthor().getFirstName(),
            post.getAuthor().getLastName(),
            post.getTitle()
    );
  }


}
User.java
public class User {
  // TODO: add private fields for firstName and lastName
  private String firstName;
  private String lastName;


  public User(String firstName, String lastName) {
    // TODO: set and add the private fields
    mfirstName= firstName;
    mlastName=lastName;

  }
public String getFirstName(){
  return firstName;
}
  public String getLastName(){
    return lastName;
  // TODO: add getters for firstName and lastName

}
}
ForumPost.java
public class ForumPost {
  private User author;
  private String title;
  private String description;

  // TODO: add a constructor that accepts the author, title and description
  private forum ( User author,String title,String description){
    mauthor=author;
    mtitle=tile;
    mdescription=description;
  }

  public User getAuthor() {
    return author;
  }

  public String getTitle() {
    return title;
  }

  public String getDescription() {
    return description;
  }
}
Main.java
public class Main {

  public static void main(String[] args) {
    System.out.println("Beginning forum example");
    if (args.length < 2) {
      System.out.println("Usage: java Main <first name> <last name>");
      System.err.println("<first name> and <last name> are required");
      System.exit(1);
    }

    Forum forum = new Forum("Java");
    // TODO: pass in the first name and last name that are in the args parameter
     UserAuthor = new User(args[0], args[1]);
    // TODO: initialize the forum post with the user created above and a title and description of your choice
    ForumPost post = new ForumPost(author, "the Title", "The Description");
    forum.addPost(post);

  }

}

4 Answers

akiva grobman
akiva grobman
3,521 Points

The constructors must be spelled exactly like the class name

Fabian Pijpers
PRO
Fabian Pijpers
Pro Student 31,748 Points

when using a constructor getForum(String forum) { return forum; }

oageletse90
oageletse90
5,747 Points

//Looking at your code on {ForumPost.java} your constructor is private Forum but the Class is ForumPost, thats the first mistake.2. still under that you wrote mTitle = tile, second mistake.

my advice will be "Can you please try to use the [this] KeyWord on your constructors...

public ForumPost(User author, String title){ this.author = author; this.title = title; ..... }"

// TODO: pass in the first name and last name that are in the args parameter
String firstName = args[0];
String lastName = args[1];

User author = new User(firstName, lastName);

// TODO: initialize the forum post with the user created above and a title and description of your choice
ForumPost post = new ForumPost(author, "Programming is Good", "It teaches how to create new things");
forum.addPost(post);
Fabian Pijpers
PRO
Fabian Pijpers
Pro Student 31,748 Points

Maybe i will have to look into this deeper or ask a few other students they might come with a better answer. I am out of the java track for some time now, so i am not up to speed. As to give you a better contructed answer. sorry