Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package no.hiof.sadaqmd.oblig3;
- import java.util.ArrayList;
- public class PlanetSystem {
- private String name;
- private Star centerStar;
- private ArrayList<Planet> planets = new ArrayList<Planet>();
- public PlanetSystem(String name, Star centerStar) {
- this.name = name;
- this.centerStar = centerStar;
- }
- public void addPlanet(Planet planet) {
- planets.add(planet);
- }
- public ArrayList<Planet> getPlanets() {
- return new ArrayList<>(planets);
- }
- public Planet getSmallestPlanet() {
- if (planets.size() == 0)
- return null;
- Planet smallestPlanet = planets.get(0);
- for (Planet currentPlanet : planets) {
- if (currentPlanet.getRadius() < smallestPlanet.getRadius()) {
- smallestPlanet = currentPlanet;
- }
- else if (currentPlanet.getRadius() == smallestPlanet.getRadius()) {
- if (currentPlanet.getMass() < smallestPlanet.getMass())
- smallestPlanet = currentPlanet;
- }
- }
- return smallestPlanet;
- }
- public Planet getLargestPlanet() {
- if (planets.size() == 0)
- return null;
- Planet largestPlanet = planets.get(0);
- for (Planet currentPlanet : planets) {
- if (currentPlanet.getRadius() > largestPlanet.getRadius()) {
- largestPlanet = currentPlanet;
- }
- else if (currentPlanet.getRadius() == largestPlanet.getRadius()) {
- if (currentPlanet.getMass() > largestPlanet.getMass())
- largestPlanet = currentPlanet;
- }
- }
- return largestPlanet;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Star getCenterStar() {
- return centerStar;
- }
- public void setCenterStar(Star centerStar) {
- this.centerStar = centerStar;
- }
- public Planet getPlanetByName(String planetsName) {
- Planet byName = new Planet();
- for (Planet planet: planets) {
- if (planet.getName().equals(planetsName)){
- byName = new Planet(planet.getName(), planet.getMass(), planet.getRadius(), planet.getSemiMajorAxis(), planet.getEccentricity(), planet.getOrbitalPeriod(), planet.getCentralCelestialBody());
- }
- }
- return byName;
- }
- @Override
- public String toString() {
- return String.format("%s has %d planets that revolve around the star %s", name, planets.size(), centerStar.getName());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement