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

Nicolau Esteves
Nicolau Esteves
2,809 Points

Correct the hasTile method.

Hey Anders. I keep trying the problem, but I seem not to get it right for some reason. Can u tell me what is wrong with what I did on the second question?

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)!=-1){
   // if(hasTile!=-1){
         return true;}
    else{
         return false;}

  }

}

1 Answer

Mark Miller
Mark Miller
45,831 Points

You're gonna like this one. He wants you to use only a one line expression, return the evaluation itself, without an if(). Try this, return tiles.indexOf(tile) >=0; This test will return a boolean. You could also try != -1 as you have there in your code, but use no 'if' 'else.' Just tell the method to return the boolean evaluation in one line. See "test operators."