Question: Can you help me fix setBowlerScore and String toString method in Bowler.java? Bowler.java public class Bowler extends Player{ String teamName; private BowlerScore[] bowlerScore; int numScore;

Can you help me fix setBowlerScore and String toString method in Bowler.java?

Bowler.java

public class Bowler extends Player{  String teamName;  private BowlerScore[] bowlerScore;  int numScore; //# objects in array  public Bowler() {   super();   teamName = "";  }  public Bowler(String name, int IDNum, String teamName, BowlerScore[] bowlerScore, int numScore) {   super(name, IDNum);   this.teamName = teamName;   this.numScore = numScore;   bowlerScore = new BowlerScore[20];  }  public double calculateHandicap() {   int sumScores = 0;   int flag = 0;   int lastBowler = 0;   int counter = 0;   for (int i = 0; i < bowlerScore.length; i ++)    if (bowlerScore[i] != null)     counter ++;     for (int i = counter; i > 0; i--){      if( bowlerScore[i] != null ) {       if ( flag < 5 && bowlerScore[i].getScore() != 9999 ) {        sumScores += bowlerScore[i].getScore();        flag++;        lastBowler = i;       }      }     }    double average = sumScores / 5;    double difference;    double handicap;    difference = 200 - average;    handicap = 0.8 * difference;      if ( lastBowler != 0 ) {     bowlerScore[lastBowler + 1].setScore(bowlerScore[lastBowler + 1].getScore() + (int)handicap);    }   return handicap;  }  public String getTeamName() {   return teamName;  }  public void setTeamName(String teamName) {   this.teamName = teamName;  }  public BowlerScore[] getBowlerScore() {   return bowlerScore;  }  public void setBowlerScore(Bowler[] bowlerScore) { //ERROR BowlerScore cannot be resolved to a variable   BowlerScore = bowlerScore; //help  }  public int getNumScore() {   return numScore;  } public void setNumScore(int numScore) {   this.numScore = numScore; }  public void addScore(BowlerScore theBowlerScore) {   int counter = 0;   for (int i = 0; i < bowlerScore.length; i++) {    if (bowlerScore[i] != null) {     counter ++;     bowlerScore[counter] = theBowlerScore;    }   }  }  public String toString() { //ERROR: This method must return a result of type String   int counter = 0;   int scoreError = 0;   int dateError = 0;   int error= 0;   String getAllScores = "";   for (int i = 0; i < bowlerScore.length; i++) {    if (bowlerScore[i] != null)     counter ++;    for ( int j =0; j < counter; j++ ){     if( bowlerScore[j] != null ) {      getAllScores = getAllScores + bowlerScore[j];      if( bowlerScore[j].getScore() == 9999 ){       if( scoreError == 0 ){        error = 1;       }       scoreError++;      }else if( bowlerScore[j].getDate().equals("INVALID") ){       if( dateError == 0 ) {        error = 1;       }       dateError++;      }     }    }    if(error == 0) { //no error     return getName() + " ID number: " + getIDNum() +       " Team Name: " + getTeamName() +       " Current Handicap:" + calculateHandicap() +       " " + "Score Date Lane " + getAllScores;    }else{//input has error     if( scoreError != 0 ) { //score input error      return getName() + " ID number: " + getIDNum() +        " Team Name: " + getTeamName() +        " Current Handicap:" + calculateHandicap() +        " " + "Score Date Lane " + getAllScores +        " "+ "There is an ERROR with your score.";     }else{ //date input error      return getName() + " ID number: " + getIDNum() +        " Team Name: " + getTeamName() +        " Current Handicap:" + calculateHandicap() +        " " + "Score Date Lane " + getAllScores +        " "+ "There in ERROR with your dare.";     }    }   }  } }

BowlerScore.java

import java.util.GregorianCalendar; public class BowlerScore {  String laneName;  int score;  String date;  public BowlerScore() {   super();  }  public BowlerScore(String laneName, int score, String date) {   super();   this.laneName = laneName;   this.score = score;   this.date = date;  }  public String getLaneName() {   return laneName;  }  public void setLaneName(String laneName) {   this.laneName = laneName;  }  public int getScore() {   return score;  }  public void setScore(int fscore) {   if( fscore >= 0 && fscore <= 300 ) {    score = fscore;   }else{    score = 9999;   }  }  public String getDate() {   return date;  }  public void setDate(String fdate) {   GregorianCalendar calendar = new GregorianCalendar();   calendar.setLenient(false);   String[] splitDate = fdate.split("/");   int month = Integer.parseInt( splitDate[0] );   int days = Integer.parseInt( splitDate[1] );   int year = Integer.parseInt( splitDate[2] );   calendar.set(year, month, days);   try{    calendar.getTime();   }catch (Exception e){    fdate = "INVALID";   }   date = fdate;  }  public String toString() {   if ( getScore() == 9999 && !getDate().equals("INVALID") ){    return getScore() + "tt" + getDate() + "tt" + getLaneName() + " ";   }else if ( getDate().equals("INVALID") && getScore() != 9999 ){    return getScore() + "ttt" + getDate() + "ttt" + getLaneName() + " ";   }else if ( getScore() == 9999 && getDate().equals("INVALID") ){    return getScore() + "tt" + getDate() + "ttt" + getLaneName() + " ";   }   return getScore() + "ttt" + getDate() + "tt" + getLaneName() + " ";  } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

the setBowlerScore method you need to correct the variable name when assigning the bowlerScore array ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!