Can anyone solve this for me using java programming? >>>>> A solar system consis
ID: 3588179 • Letter: C
Question
Can anyone solve this for me using java programming?
>>>>>
A solar system consists of a Sun (star) and planets. In support of solar system provide the following
1. Define a suitable class that represents solar system.
2. Specify what relation is preferred between solar system, sun and planets (inheritance, composition, aggregation or dependence)
3. Provide constructors, accessor and mutator methods in the class representing solar system
4. Override equals, clone and toString methods in the class representing solar system
5. Provide a driver to test implementation of solar system class
Explanation / Answer
Hi,
here are all the files,
2. The relation between solar system and sun is dependency, as solar system contains star objects with in them and same is the case with star and planets.
here is the star.java
import java.util.ArrayList;
import java.util.List;
public class Star {
private String name;
private List<Planet> planets= new ArrayList<>();
public String getName() {
return name;
}
public Star(String name, List<Planet> planets) {//constructor with fields
super();
this.name = name;
this.planets = planets;
}
@Override//overriding to string method
public String toString() {
return "Star [name=" + name + ", planets=" + planets + "]";
}
public void setName(String name) {
this.name = name;
}
public List<Planet> getPlanets() {
return planets;
}
public void setPlanets(List<Planet> planets) {
this.planets = planets;
}
}
here is planet.java
public class Planet {
private String name;
@Override//overriding to string method
public String toString() {
return "Planet [name=" + name + "]";
}
public Planet(String name) {//constructor with fields
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
here is solarsystem.java
import java.util.ArrayList;
import java.util.List;
public class SolarSystem implements Cloneable {
private String name;
private List<Star> stars= new ArrayList<>();
@Override
protected SolarSystem clone() throws CloneNotSupportedException {
return (SolarSystem) super.clone();//overriding clone method
}
public SolarSystem(String name, List<Star> stars) {//constructor with fields
super();
this.name = name;
this.stars = stars;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
return super.equals(obj);
}
@Override
public String toString() {
return super.toString();//overriding to string method
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Star> getStars() {
return stars;
}
public void setStars(List<Star> stars) {
this.stars = stars;
}
}
here is the driver class
import java.util.ArrayList;
import java.util.List;
public class Driver {
public static void main(String[] args) {//driver method
Planet p1=new Planet("test 1");//creating new planet objects
Planet p2=new Planet("test 2");
Planet p3=new Planet("test 3");
Planet p4=new Planet("test 4");
List<Planet> planets= new ArrayList<>();
planets.add(p1);
planets.add(p2);
planets.add(p3);
planets.add(p4);
Star s=new Star("sun", planets);//creating new star object
List<Star> stars= new ArrayList<>();
SolarSystem solar=new SolarSystem("milky way",stars );//creating a new solar system
try {
SolarSystem solarcopy=solar.clone();
System.out.println(solarcopy.toString());//testing clone
System.out.println(solar.equals(solarcopy));//testing equals
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(solar.toString());//testing to string
}
}
I have added comments everywhere to help you understand.
Please thumbs up if this was helpful, otherwise let me know in comments
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.