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

SAMI ULLAH NAIKOO
SAMI ULLAH NAIKOO
765 Points

i used the code send by treehouse community but it is still showing the following error

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

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
    if(tiles.indexOf(tile) >= 0){
   return true;}
    else
    {return false;}
  }

}

1 Answer

So, this code works, but the reason the code challenge won't make you pass is because it could be a little better.

It's about this method:

  public boolean hasTile(char tile) {
    // TODO: Determine if user has the tile passed in
    if(tiles.indexOf(tile) >= 0){
   return true;}
    else
    {return false;}
  }

The expression you pass to the if statement is called a boolean expression (the bit between the parentheses, 'tiles.indexOf(tile) >= 0'). A boolean expression is either true or false.

What you're doing right now is basically this: "If 'boolean expression' is true, return true. If 'boolean expression' is false return false".

Instead you can just write "return 'boolean expression'".

It's the same thing, and it's faster, easier to read, no unnecessary lines :-)

SAMI ULLAH NAIKOO
SAMI ULLAH NAIKOO
765 Points

thanks Livia Galeazzi.. if sometimes i need your help how can i reach you

Posting your questions here is best. I check questions frequently, and if I'm not there another helpful student is likely to answer you.