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

oh my god, this quesiton struggles me a whole day! what's wrong!1 thank you sooo much!

I think this is right but answer said return to a result of the expression, but the result was true or false but when I return to true or false, without complie errors but I still could not pass,

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) {
    // TODO: Add the tile to tiles
     tiles +=tile;
  }

  public boolean hasTile(char tile) {
    // TODO: Determine if user has the tile passed in
       boolean there = tiles.indexOf(tile) != -1;
      if(there)
      {
        return true;
      }
     return false;
  } 
}

1 Answer

The previous answer doesn't seem readable, the image won't display. So just in case you haven't got it yet:

  public boolean hasTile(char tile) {
    // TODO: Determine if user has the tile passed in
       return tiles.indexOf(tile) != -1;
  } 

You don't need the whole if / else part. 'tiles.indexOf(tile) != 1' is a boolean expression. It can only have the value true or false. Yes your code compiles, but it's unnecessary and bad practice to write:

if (true) {
  return true;
} else {
  return false;
}

You can just return the result of the Boolean expression directly. That's what the error message is trying to tell you.