Can you help me fix setBowlerScore and String toString method in Bowler.java? Bowler.java public class Bowler extends
Fantastic news! We've Found the answer you've been seeking!
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; //# 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() + " "; } }
Related Book For
Java How To Program Late Objects Version
ISBN: 9780136123712
8th Edition
Authors: Paul Deitel, Deitel & Associates
Posted Date: