In: Computer Science
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.
// 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]
*/