Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a program that has an App Class which holds your main() method and c reat

ID: 3784556 • Letter: C

Question

Create a program that has an App Class which holds your main() method and create a Band class.

Create an array of 5 Band objects in your main() method.

Each band should have it's own compete() method along with a a drummer, vocalist, and piano player.

Each band should have the names of the drummer, vocalist, and piano player.

The complete method() assigns a random score between 0 and 20 to to each band.

Create a method to calculate the top 2 winners from highest score to least and write each band's information to a "winners.txt" file.

A grabInfo() method should be called to display a band's information.

Explanation / Answer

// Band.java

import java.util.Random;

public class Band implements Comparable<Band> {

   // constructor with all the fields
   public Band(String drummer, String vocalist, String piano) {
       this.drummer = drummer;
       this.vocalist = vocalist;
       this.piano = piano;
   }
  
   // default constructor
   public Band() {}

   private String drummer;
   private String vocalist;
   private String piano;
  
   private int score;

   private Random rand = new Random();
  
   // assign a random score between 0 to 20.
   public void complete()
   {
       this.score = rand.nextInt(20);
   }
  
   // getter and setters
   public String getDrummer() {
       return drummer;
   }

   public void setDrummer(String drummer) {
       this.drummer = drummer;
   }

   public String getVocalist() {
       return vocalist;
   }

   public void setVocalist(String vocalist) {
       this.vocalist = vocalist;
   }

   public String getPiano() {
       return piano;
   }

   public void setPiano(String piano) {
       this.piano = piano;
   }

   public int getScore() {
       return score;
   }

   public void setScore(int score) {
       this.score = score;
   }

   // compare to method to sort array for highest to lowest
   @Override
   public int compareTo(Band arg0) {
       if(getScore() > arg0.getScore())
       {
           return -1;
       }
       if (getScore() < arg0.getScore())
       {
           return 1;
       }
       return 0;
   }

   @Override
   public String toString() {
       return "Band [drummer=" + drummer + ", vocalist=" + vocalist
               + ", piano=" + piano + ", score=" + score + "]";
   }
  
   public void grabInfo() {
       System.out.println("Band [drummer=" + drummer + ", vocalist=" + vocalist
               + ", piano=" + piano + ", score=" + score + "]");
   }
  
  
  
}

// App.java

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;


public class App {

   private static void getTopBand(Band[] bands )
   {
       Arrays.sort(bands);
      
       System.out.println("Top two bands:");
      
       for(int i = 0; i < 2; i++)
       {
           bands[i].grabInfo();
       }
      
       try{
       PrintWriter writer = new PrintWriter("winners.txt", "UTF-8");
       for(int i = 0; i < 5; i++)
           {
               writer.println(bands[i]);
           }
       writer.close();
       } catch (IOException e) {
           System.out.println("Unable to open file");
       }
   }
  
   public static void main(String[] args) {

       Band[] bands = new Band[5];
      
       bands[0] = new Band("Drummer1", "Vocalist1", "Piano1");
       bands[0].complete();
      
       bands[1] = new Band("Drummer2", "Vocalist2", "Piano2");
       bands[1].complete();
      
       bands[2] = new Band("Drummer3", "Vocalist3", "Piano3");
       bands[2].complete();
      
       bands[3] = new Band("Drummer4", "Vocalist4", "Piano4");
       bands[3].complete();
      
       bands[4] = new Band("Drummer5", "Vocalist5", "Piano5");
       bands[4].complete();
      
      
       getTopBand(bands);
      
   }

}

/*

Sample output

Top two bands:
Band [drummer=Drummer1, vocalist=Vocalist1, piano=Piano1, score=19]
Band [drummer=Drummer5, vocalist=Vocalist5, piano=Piano5, score=19]

winners.txt

Band [drummer=Drummer1, vocalist=Vocalist1, piano=Piano1, score=19]
Band [drummer=Drummer5, vocalist=Vocalist5, piano=Piano5, score=19]
Band [drummer=Drummer4, vocalist=Vocalist4, piano=Piano4, score=13]
Band [drummer=Drummer2, vocalist=Vocalist2, piano=Piano2, score=7]
Band [drummer=Drummer3, vocalist=Vocalist3, piano=Piano3, score=7]

*/

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote