JAVA Code

Module 1 Labs

DR. CATHERINE ANDERSON MCNEESE STATE UNIVERSITY

Don't use plagiarized sources. Get Your Custom Essay on
JAVA Code
Just from $13/Page
Order Essay

CSCI

2

82 OBJECT ORIENTED PROGRAMMING

CHAPTER 1

Shipping
Fleet

Practicing inheritance with the super-
class Ship and another class called Fleet

SHIPPING FLEET

1. Read data from Arrays – create subclasses

2. Read from File – populate fleet from data in file

SECTION 1

Problem Description
You are to use the Ship class you created in last weeks lab to
create three subclasses. In the bundle of files that accompa-
nies this lab, there is a Fleet Class. The Fleet Class requires
these three sub classes inherited from the Ship class: specifi-
cally the CruiseShip, the CargoShip and the BattleShip.
These sub classes will use all methods from the super class in
addition to new attributes and methods unique to the specific
class.

The additional attribute per subclass are as follows:

• The Cargo Ship subclass has both maximum cargo
weight and freezer space.

• The Cruise ship subclass has the number of state rooms
(each berthing two passengers), number of double rooms
(each berthing 2 passengers) and number of economy rooms
(each berthing a single passenger).

• The battle ship subclass has weapon capacity and troop
carrying capacity.

What are the names of these attributes? Well you know
from the convention of writing getters which is to name the
method getVariableName(), where variable name is the name
of the attribute. So if you know the name of the getter, you
know what the attribute should be called. In addition, in the
file Fleet.java, you will see that both setters and getters for
these subclasses are being used, so you know what the attrib-
utes name should be.

2

There is no code-along for this lab. There will still be code-
alongs in future labs, but fewer of them. I have provided you
with a file bundle that contains the following file

For part 1:
• Ship.java ( my implementation of last weeks class)
• fleet.java

For part 2:
• ship_info.java
• fleet2.java

Part 1: Creating the subclasses

Your task for the first part of this exercise, is to write the sub
classes with all the methods needed to run the Fleet class with-
out changing anything in the Fleet class. In fact you, MAY
NOT CHANGE ANY CODE within the Fleet class. Looking
at the method calls in the Fleet class will also tell you the
names of setters and getters methods. The data needed to in-
stantiate these classes is hard coded in to the Fleet class.

Remember the OOP principle that all class attributes should
be private and as such need accessor and mutator methods.

Remember the convention of writing an accessor and muta-
tor method. Use the code written in the Fleet class for method
names and parameter lists. Also, you are require to adhere to
the setter and getter convention of having the attribute name
reflected in the setter or getter.

When you have completed the subclasses, you can compile
and run the executable Fleet class. You should get the a dis-
play identical to the one to the right, without changing any
code within the fleet class. The only differences might be if
you are running your program on Windows. Then the display
will have the MSWindows look-and-feel as opposed to the
Mac look-and-feel as shown here. This first part it to make
sure you subclasses are properly implemented.

3

Part 2 – More File IO:

In the bundle of source code that accompanies this lab, you
will also find a class called Fleet2. This class requires the data
to be entered from a selected file. The file name selection and
the display code has been provided for you. You need to pro-
vide the code that will load the data in from file. It is recom-
mended that you use the scanner class.

After you have success-
fully loaded the data.
you should see the dis-
play to the right when
you run the Fleet2
class. Now, to demon-
strate that you under-
stand what is going on
in the Fleet2 code, you
are to insert your
name and the name of
any team member be-
tween the list of ships
and the beginning the
the cargo fleet capacity
and shown in red to
the right. There
should be a blank line
both above and below
your names.

Criteria for evaluation:

Your program will be evaluate by the criteria below. This is
part of the specification of the problem and should be read, es-
pecially when discussing project and class names. If you do
not understand a criterion, it is YOUR responsibility to ask
questions until you do understand!

4

CHAPTER 2

GUI
Temperature
converter

First GUI app with interaction between
user and computer.

FIRST SIMPLE GUI APP

1. Initializing window components

2. Setting up the listeners

3. Create response to events

SECTION 1

Your first interactive GUI
This lab will require that you implement a very simply GUI
app. One that is so simple in design that it can all be done in
in a single class, which will supply the window, the compo-
nents and the logic to do the conversion.

To get you started, there will be a code-along that will take
you through the GUI display of this Lab. Then you will be re-
sponsible for supplying the methods that make the window in-
teractive which include the helper function as shown on the
UML. This will give you a bit of practice on exchanging infor-
mation between components.

You will notice in my on-going code-alongs and in the tutori-
als that I give you to work through, I favor adding listeners
anonymously, as opposed to allowing the class to implement
the needed listener. I find this clearer when reading the code
and less prone to error due to misunderstanding the code.
You will also notice in future classes that IDEs that automati-
cally generate code also add listeners anonymously.

I strongly recommend that in your future programs, you also
adopt this approach. However, in this lab, there is no choice,
it is required, just so that you have gone through it once. In
the future, you will be given the choice. And it is recom-
mended that you do not mix the techniques, again for in-
creased readability.

Lab code-along:

The code-along will create the window of the very simple GUI
app that is pictured on the cover of this chapter. The UML for

6

this class is shown to the left.
You should notice that the attrib-
utes are private. As is expected
from the OOP programmings.
This is simplify you first use of a
GUI interface.

It will be up to you to make the
app interactive by implementing
the methods of checkValid,
processTemp and clear. The
code-along will take you through

the implementation of the other
methods. All methods should have the same return value that
is shown on the UML. And Yes, I know there are many ways
that this can be done. What is also being practiced in these
labs is programming to Spec. The spec. or specification is the
UML.

Once your implementation is done, you should run the follow-
ing test career and post screen shots of your results in the M3-
Lab2 lab sheet.

Test cases:

Fahrenheit Temperature 1: 32

Fahrenheit Temperature 2: 100

Fahrenheit Temperature 3: -21

7

/*
* Code provided for Lab 2 in CSCI282
* author: C.Anderson
* modified on 8-31-2016
*/
//package shipping_problem;
import java.util.*;
import javax.swing.*;

public class Fleet {
private Ship[] shipsOfFleet;
/**
* Class constructor
*/
public Fleet()
{
String intro = “This program will initialize a fleet of cargo, cruise\n”+
“and battle ships. It will than print out a fleet Roster\n”+
“and a record of resources”;

JOptionPane.showMessageDialog(null, intro,”Fleet introduction”,1);
//Create Cargo fleet
shipsOfFleet = new Ship[12];
shipsOfFleet[0] = new CargoShip(“Balinda”, 1998, “USA”, 20000,4500 );
shipsOfFleet[1] = new CargoShip(“Sassy Boy”, 2008,”UK”, 2400, 3300.5);
shipsOfFleet[2] = new CargoShip(“Gut Frau”, 1976,”Germany”, 3600, 7533);
shipsOfFleet[3] = new CargoShip(“Atlas”, 1983,”Porta Rico”, 6600, 1000);
shipsOfFleet[4] = new CargoShip(“Big Hauler”, 2000,”Russia”, 16600, 4536);
//Create Cruise fleet
shipsOfFleet[5]= new CruiseShip(“Small World”, 1998, “USA”,100, 250, 500);
shipsOfFleet[6]= new CruiseShip(“Ocean Skipper”, 2012, “UK”,200, 750, 1500);
shipsOfFleet[7]= new CruiseShip(“Light Sail”, 1967, “Brasil”, 50, 200, 1200);
shipsOfFleet[8]= new CruiseShip(“Pleasant Berth”, 1985,”Germany”, 120, 200, 300);
shipsOfFleet[9]= new CruiseShip(“Fast and Loose”, 2013,”USA”, 45, 51, 129);
//Create War fleet
shipsOfFleet[10] = new BattleShip(“Tough Guy”, 1998,”USA”, 100,500);
shipsOfFleet[11] = new BattleShip(“Angry One”, 2008, “UK”, 300,1500);
JOptionPane.showMessageDialog(null, “Fleet Roster:\n”+makeFleetRoster()+”\n”+countTheFleet(), “Fleet Roster”, 1);
JOptionPane.showMessageDialog(null, “Program terminating”, “Exiting program”, 1);

}

/**
* Will return a summery of fleet resources
* @return
*/
private String countTheFleet()
{
String fleetCount =”\n\nResources of Fleet:\n”;
int cargoShipCount = 0;
int totalFreezerSpace = 0;
int totalCargoCapacity =0;
int cruiseShipCount = 0;
int passengerBerthing = 0;
int battleShipCount = 0;
int totalWeaponsCapacity =0;
int totalFighterCapacity =0;
for(int dex = 0; dex < shipsOfFleet.length; dex++) { if(shipsOfFleet[dex] instanceof CargoShip) { cargoShipCount++; totalCargoCapacity += ((CargoShip)shipsOfFleet[dex]).getMaxTonnage(); totalFreezerSpace += ((CargoShip)shipsOfFleet[dex]).getFreezerSpace(); } else if(shipsOfFleet[dex] instanceof CruiseShip) { cruiseShipCount++; passengerBerthing += ((CruiseShip)shipsOfFleet[dex]).getDoubleCabins()*2 + ((CruiseShip)shipsOfFleet[dex]).getStateCabins()*2 + ((CruiseShip)shipsOfFleet[dex]).getEconomyCabins(); } else { battleShipCount++; totalWeaponsCapacity += ((BattleShip)shipsOfFleet[dex]).getWeapons(); totalFighterCapacity += ((BattleShip)shipsOfFleet[dex]).getFighters(); } } fleetCount += "\nCargo Fleet:" + "\nCargo ship count: "+cargoShipCount + "\ntotal cargo capacity: "+totalCargoCapacity + "\ntotal freezer capacity: "+totalFreezerSpace + "\n\nCruise Fleet"+ "\nCruise ship count: "+cruiseShipCount + "\ntotal passenger berthing: "+passengerBerthing + "\n\nBattle Fleet"+ "\nBattle ship count: "+battleShipCount + "\ntotal weapons capacity: "+totalWeaponsCapacity + "\ntotal fighter capacity: "+totalFighterCapacity ; return fleetCount; } /** * Will return a listing of each ship in the fleet along with its capacity * @return */ private String makeFleetRoster() { String fleetRoster =""; for(int dex = 0; dex < shipsOfFleet.length; dex++) { fleetRoster += "\n"+shipsOfFleet[dex].toString(); } return fleetRoster; } public static void main(String[] args) { Runnable r = new Runnable() { @Override public void run() { Fleet myFleet = new Fleet(); } }; SwingUtilities.invokeLater(r); } }

/*
* Code provided for Lab 2 in CSCI282
* author: C.Anderson
* modified on 8-31-2016
*/

class Ship
{
private String name; // Ship name
private int yearBuilt; // 4 digit year built
private String nation; // Nation of registry
/**
Constructor
@param n The ship’s name.
@param y The year the ship was build.
*/
public Ship(String n, int y, String na)
{
name = n;
yearBuilt = y;
nation = na;
}
/**
setName method
@param n The ship’s name.
*/
public void setName(String n)
{
name = n;
}
/**
setYearBuilt method
@param y The year the ship was built.
*/
public void setYearBuilt(int y)
{
yearBuilt = y;
}

/**
getName method
@return The ship’s name.
*/
public String getName()
{
return name;
}
/**
getYearBuilt method
@return The year the ship was built.
*/
public int getYearBuilt()
{
return yearBuilt;
}
/**
toString method
@return A string indicating the ship’s name
and the year it was built.
*/
public String toString()
{
return name + “,” +
yearBuilt + “,” +
nation;
}
}

CA,Balinda,1998,USA,20000,4500
CA,Sassy Boy,2008,UK,2400,3300
CA,Gut Frau,1976,Germany,3600,7533
CA,Atlas,1983,Porta Rico,6600,1000
BA,The Wasp,2018,USA,1100,2500
CA,Big Tank,2000,Japan,16600,4536
CR,Small World,1998,USA,100,250,500
CR,Ocean Skipper,2012,UK,200,750,1500
CR,light Sail,1967,Brasil,50,200,1200
CR,Pleasant Berth,1985,Germany,120,200,300
CR,Make-a-freind,1991,Japan,1100,2300,4500
CR,Fast and Loose,2013,USA,45,51,129
BA,Tough Guy,1998,USA,100,500
BA,Angry One,2008,UK,300,1500
BA,Nemesis,2015,USSF,30000,45000
BA,Enterprize,2017,USSF,76000,93000

/*
* Code provided for Lab 3 in CSCI282
* author: C.Anderson
* modified on 1-31-2014
*/
//package shipping_problem;
import java.io.*;
import java.util.*;
import javax.swing.*;
/**
*
* @author canderson
*/
public class Fleet2 {

private Ship[] shipsOfFleet;
private int MARK_LIMIT = 32000;

/**
* Class constructor
*/
public Fleet2()
{
String intro = “This program will initialize a fleet of cargo, cruise\n”+
“and battle ships from the data in the file you will be\n”+
“asked to select. It will than print out a fleet Roster\n”+
“and a record of resources”;

JOptionPane.showMessageDialog(null, intro,”Fleet introduction”,1);
// Create Cargo fleet
String fileName = enterFileName(“Select fleet ship information file”);

boolean status = loadShipsFromFile(fileName);
if(status)
{
// Make display
JOptionPane.showMessageDialog(null, “Fleet Roster:\n”+makeFleetRoster()+”\n”+countTheFleet(), “Fleet Roster”, 1);
JOptionPane.showMessageDialog(null, “Program terminating”, “exiting program”, 1);
}
}
/**
* Will load the ship data from file to shipOfFleet array
* to the class array shipsOfFleet
* @param fileName
*/
public boolean loadShipsFromFile(String fileName)
{
JOptionPane.showMessageDialog(null, “You need to delete line 49-51 in Fleet2 and”+
“\n implement the code needed to read fromfile in. “, “Error”,2);
return false;
///////////////////////////////////////
///// Type code here to read from file
///// delete lines 50-52
//////////////////////////////////////////

}

/**
* Will return a file handle for the file selected for the purpose
* stated in the argument string
* @param purpose
* @return
*/
public static String enterFileName(String purpose)
{
String fileName = “”;
// Creating a new JFilechooser with the argurment that states the directory to start in
// This might be a good parameter to pass from the enterFileName method (currently no arguments
// instead of hard coding it.
JFileChooser chooser = new JFileChooser(“”);
chooser.setDialogTitle(purpose);
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) // checking to make sure a non-null value was returned
// or that you did not just hit cancel
{
fileName = chooser.getSelectedFile().getAbsolutePath(); // This will return the full
// path to the file
}
else
{
System.err.print(“No file was chosen, program terminating.\nTry again when you are serious about the reports!”);
System.exit(0);
}
return fileName;
}

/**
* Will return a summery of fleet resources
* @return
*/
private String countTheFleet()
{
String fleetCount =””;
int cargoShipCount = 0;
int totalFreezerSpace = 0;
int totalCargoCapacity =0;
int cruiseShipCount = 0;
int passengerBerthing = 0;
int battleShipCount = 0;
int totalWeaponsCapacity =0;
int totalFighterCapacity =0;
for(int dex = 0; dex < shipsOfFleet.length; dex++) { if(shipsOfFleet[dex] instanceof CargoShip) { cargoShipCount++; totalCargoCapacity += ((CargoShip)shipsOfFleet[dex]).getMaxTonnage(); totalFreezerSpace += ((CargoShip)shipsOfFleet[dex]).getFreezerSpace(); } else if(shipsOfFleet[dex] instanceof CruiseShip) { cruiseShipCount++; passengerBerthing += ((CruiseShip)shipsOfFleet[dex]).getDoubleCabins()*2 + ((CruiseShip)shipsOfFleet[dex]).getStateCabins()*2 + ((CruiseShip)shipsOfFleet[dex]).getEconomyCabins(); } else { battleShipCount++; totalWeaponsCapacity += ((BattleShip)shipsOfFleet[dex]).getWeapons(); totalFighterCapacity += ((BattleShip)shipsOfFleet[dex]).getFighters(); } } fleetCount += "\nCargo Fleet:" + "\nCargo ship count: "+cargoShipCount + "\ntotal cargo capacity: "+totalCargoCapacity + "\ntotal freezer capacity: "+totalFreezerSpace + "\n\nCruise Fleet"+ "\nCruise ship count: "+cruiseShipCount + "\ntotal passenger berthing: "+passengerBerthing + "\n\nBattle Fleet"+ "\nBattle ship count: "+battleShipCount + "\ntotal weapons capacity: "+totalWeaponsCapacity + "\ntotal fighter capacity: "+totalFighterCapacity ; return fleetCount; } /** * Will return a listing of each ship in the fleet along with its capacity * @return */ private String makeFleetRoster() { String fleetRoster =""; for(int dex = 0; dex < shipsOfFleet.length; dex++) { fleetRoster += "\n"+shipsOfFleet[dex].toString(); } return fleetRoster; } public static void main(String[] args) { //required because of file chooser Runnable r = new Runnable() { @Override public void run() { Fleet2 myFleet = new Fleet2(); } }; SwingUtilities.invokeLater(r); } }

Module 1 Labs

DR. CATHERINE ANDERSON MCNEESE STATE UNIVERSITY

CSCI

2

82 OBJECT ORIENTED PROGRAMMING

CHAPTER 1

Shipping
Fleet

Practicing inheritance with the super-
class Ship and another class called Fleet

SHIPPING FLEET

1. Read data from Arrays – create subclasses

2. Read from File – populate fleet from data in file

SECTION 1

Problem Description
You are to use the Ship class you created in last weeks lab to
create three subclasses. In the bundle of files that accompa-
nies this lab, there is a Fleet Class. The Fleet Class requires
these three sub classes inherited from the Ship class: specifi-
cally the CruiseShip, the CargoShip and the BattleShip.
These sub classes will use all methods from the super class in
addition to new attributes and methods unique to the specific
class.

The additional attribute per subclass are as follows:

• The Cargo Ship subclass has both maximum cargo
weight and freezer space.

• The Cruise ship subclass has the number of state rooms
(each berthing two passengers), number of double rooms
(each berthing 2 passengers) and number of economy rooms
(each berthing a single passenger).

• The battle ship subclass has weapon capacity and troop
carrying capacity.

What are the names of these attributes? Well you know
from the convention of writing getters which is to name the
method getVariableName(), where variable name is the name
of the attribute. So if you know the name of the getter, you
know what the attribute should be called. In addition, in the
file Fleet.java, you will see that both setters and getters for
these subclasses are being used, so you know what the attrib-
utes name should be.

2

There is no code-along for this lab. There will still be code-
alongs in future labs, but fewer of them. I have provided you
with a file bundle that contains the following file

For part 1:
• Ship.java ( my implementation of last weeks class)
• fleet.java

For part 2:
• ship_info.java
• fleet2.java

Part 1: Creating the subclasses

Your task for the first part of this exercise, is to write the sub
classes with all the methods needed to run the Fleet class with-
out changing anything in the Fleet class. In fact you, MAY
NOT CHANGE ANY CODE within the Fleet class. Looking
at the method calls in the Fleet class will also tell you the
names of setters and getters methods. The data needed to in-
stantiate these classes is hard coded in to the Fleet class.

Remember the OOP principle that all class attributes should
be private and as such need accessor and mutator methods.

Remember the convention of writing an accessor and muta-
tor method. Use the code written in the Fleet class for method
names and parameter lists. Also, you are require to adhere to
the setter and getter convention of having the attribute name
reflected in the setter or getter.

When you have completed the subclasses, you can compile
and run the executable Fleet class. You should get the a dis-
play identical to the one to the right, without changing any
code within the fleet class. The only differences might be if
you are running your program on Windows. Then the display
will have the MSWindows look-and-feel as opposed to the
Mac look-and-feel as shown here. This first part it to make
sure you subclasses are properly implemented.

3

Part 2 – More File IO:

In the bundle of source code that accompanies this lab, you
will also find a class called Fleet2. This class requires the data
to be entered from a selected file. The file name selection and
the display code has been provided for you. You need to pro-
vide the code that will load the data in from file. It is recom-
mended that you use the scanner class.

After you have success-
fully loaded the data.
you should see the dis-
play to the right when
you run the Fleet2
class. Now, to demon-
strate that you under-
stand what is going on
in the Fleet2 code, you
are to insert your
name and the name of
any team member be-
tween the list of ships
and the beginning the
the cargo fleet capacity
and shown in red to
the right. There
should be a blank line
both above and below
your names.

Criteria for evaluation:

Your program will be evaluate by the criteria below. This is
part of the specification of the problem and should be read, es-
pecially when discussing project and class names. If you do
not understand a criterion, it is YOUR responsibility to ask
questions until you do understand!

4

CHAPTER 2

GUI
Temperature
converter

First GUI app with interaction between
user and computer.

FIRST SIMPLE GUI APP

1. Initializing window components

2. Setting up the listeners

3. Create response to events

SECTION 1

Your first interactive GUI
This lab will require that you implement a very simply GUI
app. One that is so simple in design that it can all be done in
in a single class, which will supply the window, the compo-
nents and the logic to do the conversion.

To get you started, there will be a code-along that will take
you through the GUI display of this Lab. Then you will be re-
sponsible for supplying the methods that make the window in-
teractive which include the helper function as shown on the
UML. This will give you a bit of practice on exchanging infor-
mation between components.

You will notice in my on-going code-alongs and in the tutori-
als that I give you to work through, I favor adding listeners
anonymously, as opposed to allowing the class to implement
the needed listener. I find this clearer when reading the code
and less prone to error due to misunderstanding the code.
You will also notice in future classes that IDEs that automati-
cally generate code also add listeners anonymously.

I strongly recommend that in your future programs, you also
adopt this approach. However, in this lab, there is no choice,
it is required, just so that you have gone through it once. In
the future, you will be given the choice. And it is recom-
mended that you do not mix the techniques, again for in-
creased readability.

Lab code-along:

The code-along will create the window of the very simple GUI
app that is pictured on the cover of this chapter. The UML for

6

this class is shown to the left.
You should notice that the attrib-
utes are private. As is expected
from the OOP programmings.
This is simplify you first use of a
GUI interface.

It will be up to you to make the
app interactive by implementing
the methods of checkValid,
processTemp and clear. The
code-along will take you through

the implementation of the other
methods. All methods should have the same return value that
is shown on the UML. And Yes, I know there are many ways
that this can be done. What is also being practiced in these
labs is programming to Spec. The spec. or specification is the
UML.

Once your implementation is done, you should run the follow-
ing test career and post screen shots of your results in the M3-
Lab2 lab sheet.

Test cases:

Fahrenheit Temperature 1: 32

Fahrenheit Temperature 2: 100

Fahrenheit Temperature 3: -21

7

CSCI 282 Object Oriented Design M2-Lab: GUI Temperature Converter

Name(s):

 

Remember, when you submit your code, all files needed to run the code, including images and data files MUST be bundled in the zip file with your source code file I the proper position that so that when your program is compiled and run OUTSIDE of the IDE, it will show the same GUI, complete with images, that are shown on your images in this
lab sheet.

PLEASE note: there is a large penalty for there being a difference between the images you submit in your lab sheet and what the results look like when I run it. And I will make allowances for the different look and feel between Windows and MAC.

Going forward, the lab sheet will not “earn” points. BUT heavy penalty (-50) will be given if lab sheet is missing or in a format other than MSWord or pdf formats.

Please provide a clipped screen shot of each of the three test cases given in the lab manual.

Fahrenheit Tempurature 1: 32

Fahrenheit Tempurature 2: 100

Fahrenheit Tempurature 3: -21

What Will You Get?

We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.

Premium Quality

Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.

Experienced Writers

Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.

On-Time Delivery

Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.

24/7 Customer Support

Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.

Complete Confidentiality

Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.

Authentic Sources

We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.

Moneyback Guarantee

Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.

Order Tracking

You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.

image

Areas of Expertise

Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.

Areas of Expertise

Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.

image

Trusted Partner of 9650+ Students for Writing

From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.

Preferred Writer

Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.

Grammar Check Report

Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.

One Page Summary

You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.

Plagiarism Report

You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.

Free Features $66FREE

  • Most Qualified Writer $10FREE
  • Plagiarism Scan Report $10FREE
  • Unlimited Revisions $08FREE
  • Paper Formatting $05FREE
  • Cover Page $05FREE
  • Referencing & Bibliography $10FREE
  • Dedicated User Area $08FREE
  • 24/7 Order Tracking $05FREE
  • Periodic Email Alerts $05FREE
image

Our Services

Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.

  • On-time Delivery
  • 24/7 Order Tracking
  • Access to Authentic Sources
Academic Writing

We create perfect papers according to the guidelines.

Professional Editing

We seamlessly edit out errors from your papers.

Thorough Proofreading

We thoroughly read your final draft to identify errors.

image

Delegate Your Challenging Writing Tasks to Experienced Professionals

Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!

Check Out Our Sample Work

Dedication. Quality. Commitment. Punctuality

Categories
All samples
Essay (any type)
Essay (any type)
The Value of a Nursing Degree
Undergrad. (yrs 3-4)
Nursing
2
View this sample

It May Not Be Much, but It’s Honest Work!

Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.

0+

Happy Clients

0+

Words Written This Week

0+

Ongoing Orders

0%

Customer Satisfaction Rate
image

Process as Fine as Brewed Coffee

We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.

See How We Helped 9000+ Students Achieve Success

image

We Analyze Your Problem and Offer Customized Writing

We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.

  • Clear elicitation of your requirements.
  • Customized writing as per your needs.

We Mirror Your Guidelines to Deliver Quality Services

We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.

  • Proactive analysis of your writing.
  • Active communication to understand requirements.
image
image

We Handle Your Writing Tasks to Ensure Excellent Grades

We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.

  • Thorough research and analysis for every order.
  • Deliverance of reliable writing service to improve your grades.
Place an Order Start Chat Now
image

Order your essay today and save 30% with the discount code Happy