OOP Lab Task 1

De la WikiLabs

Required Tutorials


  • Create a Java application project.
  • Add a new package and give it the name labutil. This package will contain all classes that you will implement during this and next laboratories.
  • Add to this package a class named Message (it will be used later during this semester to carry messages between chat clients for a distributed chat application). This class needs to:
    • Store the name of the sender and the text of the message (the message body).
    • Be immutable (once an object of this class is created and initialized, its content - the sender name and message body - cannot be changed).
    • Allow reading of the sender's name and of the message body from Message objects in a format specific to chat programs: sender: message. This way you allow the user of the Message class (you will use it inside the Main class, therefore you will be such a user) to call a method that returns the formatted string, ready to be displayed by any print method of the System.out object. Add to the Message class a method of your own (give it whatever name you like, such as print, or read) that returns the sender's name and the message body as a single string formatted as required. Then, add another method that does exactly the same thing but whose declaration is public String toString().
  • Add to this package another class called Main, which should contain only the main method, that instantiates three objects of type Message and then displays for each of them their formatted string on the screen using one of the System.out print methods, first with a single String argument, the String returned by your method from Message class, and then with the object's reference as its sole argument.


  • Each class and class member must have one of the two access modifiers public or private.
  • The package name and the name of classes must be identical to the ones specified above.
  • Follow the coding rules stated in Java Coding Conventions.


  • The assignment will be evaluated automatically by the Web-CAT platform.
  • You could access the Web-CAT platform using the username and the password with which you acces the electronica.curs.pub.ro intranet.
  • If your username and password are valid you should be able to enter your Web-CAT student page (but there is still no course attached to you). If you are unable to access electronica.curs.pub.ro, contact the UPB net administrator.
  • To be enrolled in the OOP lab on the Web-CAT platform you should first access the Web-CAT platform and then add your identification info (intranet username, name, surname, group, e-mail address) into the user registration document. Your registration is checked by the administrator, therefore it may finish after a couple of days.
  • Once you are enrolled in the Web-CAT OOP lab, you may submit your work to the active task assignments.
  • To submit your work you upload a single .zip archive containing only the Java source code files.
  • If your work contains a single Java file you may directly upload that single file, unarchived.
  • Attention Any deviation from these instructions may lead to the loss of the entire amount of points.