Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Objects Creating the MVP Scrabble Tiles

Jean Malan
Jean Malan
10,781 Points

I need help running my ScrabblePlayer.java task please!

I feel like I (finally) got the code running but now it says:

Bummer! While you could definitely solve this using an if statement, try returning the result of the expression.

Not sure exactly what to change to get this right, any pointers would be great :)

Thanks!

ScrabblePlayer.java
public class ScrabblePlayer {
  // A String representing all of the tiles that this player has
  private String tiles;


  public ScrabblePlayer() {
    tiles = "";
  }

  public String getTiles() {
    return tiles;
  }

  public void addTile(char tile) {
    tiles += tile;

  }

  public boolean hasTile(char tile) {
    boolean existingTile = tiles.indexOf(tile) != -1;
    if (existingTile) {
      return true; 
    } else {
      return false;
    }

  }

}

1 Answer

andren
andren
28,558 Points

In your code you are essentially saying "If existingTile is true return true, if it is false return false" as you can probably see that's quite a redundant statement. You can simplify your code by simply not using an if statement at all. Just return the Boolean you have directly either by returning existingTile or by returning the expression you assign to it.

Jean Malan
Jean Malan
10,781 Points

Perfect! got it :) Thanks a lot for the help!