Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Draw a UML class and structure diagram which shows the relationship among the classes in your solution. It must be submitted as an image file

  • Draw a UML class and structure diagram which shows the relationship among the classes in your solution. It must be submitted as an image file (e.g. jpg, png).

  • Use Javadoc style comments for ALL public methods and constructors in your Contestant and

Contestant Class

public class Contestant implements Comparable{

//Instance variables private String name; private int id; private double score;

/** * @param name * @param id * @param score */ public Contestant(String name, int id, double score) { super(); this.name = name; this.id = id; this.score = score; } //Setters public void setScore(double score) { this.score = score; } //Getters public String getName() { return name; }

public int getId() { return id; }

public double getScore() { return score; }

@Override public String toString() { return "Contestant [name=" + name + ", id=" + id + ", score=" + score + "]"; }

@Override public boolean equals(Object obj) { //Compares id and name (case insensitive) Contestant other = (Contestant) obj; if (id != other.id) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equalsIgnoreCase(other.name)) return false;

return true; }

@Override public int compareTo(Contestant obj) { //Descending orde rof score Double score=this.getScore(); if(score < obj.getScore()) return -1; else if(score>obj.getScore()) return 1; else return 0; }

}

Contestant List Class

public class ContestantList {

//Create contestant array Contestant[] contestantArr; int DEFAULT_SIZE = 3; //To store no of items in array int NO_OF_ITEMS;

//Default contructor public ContestantList() { contestantArr = new Contestant[DEFAULT_SIZE]; } //Parameterized contructor public ContestantList(int SIZE) { contestantArr = new Contestant[SIZE]; } //Insert a contestant public void insert(Contestant cont) { Contestant[] newContestantArr; //If array has enough size if (NO_OF_ITEMS < contestantArr.length) { contestantArr[NO_OF_ITEMS] = cont; NO_OF_ITEMS++; } else { //Create a new array double the size of old array newContestantArr = new Contestant[contestantArr.length * 2]; for (int i = 0; i < NO_OF_ITEMS; i++) { newContestantArr[i] = contestantArr[i]; } newContestantArr[NO_OF_ITEMS] = cont; NO_OF_ITEMS++; contestantArr = newContestantArr; } //Sort array in descending order of scores sortArray(contestantArr); } //Return size of array public int size() { return NO_OF_ITEMS; } //To find contestant in the array public Contestant find(String name) { for (int i = 0; i < NO_OF_ITEMS; i++) { if (contestantArr[i].getName().equalsIgnoreCase(name)) return contestantArr[i]; } return null; } //Count number of occurences of given contestant public int countOccurences(Contestant cont) { int noOfInstances = 0;

for (int i = 0; i < NO_OF_ITEMS; i++) { if (contestantArr[i].equals(cont)) noOfInstances++; } return noOfInstances; } //Count no of contestants in score range public int countRange(int sc1, int sc2) { int noOfContestants = 0; if (sc1 > sc2) return 0; else { for (int i = 0; i < NO_OF_ITEMS; i++) { if (contestantArr[i].getScore() >= sc1 && contestantArr[i].getScore() <= sc2) noOfContestants++; } } return noOfContestants; } //Remove a contestant in array public Contestant delete(Contestant c) { Contestant contestantRemoved = null; int index = 0; //Get the contestant to be removed for (int i = 0; i < NO_OF_ITEMS; i++) { if (contestantArr[i].equals(c)) { contestantRemoved = contestantArr[i]; index = i; break; } } if (contestantRemoved != null) { // shift elements to left for (int i = index; i < NO_OF_ITEMS - 1; i++) { contestantArr[i] = contestantArr[i + 1]; } NO_OF_ITEMS--; } return contestantRemoved; } //Sort array in descending order of scores private void sortArray(Contestant[] contArr) { Contestant temp=null; for(int i=0;i0) { //Swap i and j element temp=contArr[i]; contArr[i]=contArr[j]; contArr[j]=temp; } } } } @Override public String toString() {

StringBuilder str = new StringBuilder(); System.out.println("Name\tID\tScore"); System.out.println("---------------------"); for (int i = 0; i < NO_OF_ITEMS; i++) { str.append(contestantArr[i].getName()).append("\t").append(contestantArr[i].getId()).append("\t") .append(contestantArr[i].getScore()); str.append(" "); } return str.toString(); }

}

Contestant Runner

public class ContestantRunner { //Driver function for Contestant public static void main(String[] args) {

//Create contestant collection object ContestantList contestantList=new ContestantList(5); //Insert 7 items into collection contestantList.insert(new Contestant("Tom", 1, 100)); contestantList.insert(new Contestant("Jack", 2, 150)); contestantList.insert(new Contestant("John", 3, 225)); contestantList.insert(new Contestant("Prince", 4, 75)); contestantList.insert(new Contestant("Prince", 4, 450)); contestantList.insert(new Contestant("Alex", 6, 175)); contestantList.insert(new Contestant("Sachin",7, 275)); //Access contestant methods System.out.println("Number of contestants added: "+contestantList.size()); Contestant cont=new Contestant("Prince", 4, 450); System.out.println(" No of occurences of contestant 'Prince':"+contestantList.countOccurences(cont)); System.out.println(" No of contestants in score range (200-500):"+contestantList.countRange(200, 500)); System.out.println(" Contestants in descending order of score:"); System.out.println(contestantList.toString()); Contestant contToDelete=contestantList.find("John"); System.out.println("Find John: "+contestantList.find("John")); //Remove contestant contestantList.delete(contToDelete); System.out.println(" After deleting John:"); //Display contestants System.out.println("Contestants in descending order of score:"); System.out.println(contestantList.toString());

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases On The Web Designing And Programming For Network Access

Authors: Patricia Ju

1st Edition

1558515100, 978-1558515109

More Books

Students also viewed these Databases questions

Question

Relate the principles of hiring in the union environment.

Answered: 1 week ago

Question

=+ c. What happens to investment in Oceania?

Answered: 1 week ago