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 Counting Scrabble Tiles

Tashfin Shahid
Tashfin Shahid
1,298 Points

For statement syntax issue?

not sure what I am doing wrong been checking the compiler error and I still don't understand. Question below

Okay, so I need to count how many occurrences of a specific letter is in the player's tiles. Let's build that over a couple of steps. I've added some example use cases in Example.java

Create a new method named getCountOfLetter that returns an int, and requires a parameter of type char named letter. For this task, just make it return 0.

ScrabblePlayer.java
public class ScrabblePlayer {
  // A String representing all of the tiles that this player has
  private String tiles;
    private char    letter;
  public ScrabblePlayer() {
    tiles = "";
  }
    public int getCountOfLetter(char letter){
        for (char letter    :   tiles.toCharArray())    {
          return count;
    }


  public String getTiles() {
    return tiles;
  }

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

  public boolean hasTile(char tile) {
    return tiles.indexOf(tile) != -1;
  }
}
Example.java
// This code is here for example purposes only
public class Example {

  public static void main(String[] args) {
    ScrabblePlayer player1 = new ScrabblePlayer();
    player1.addTile('d');
    player1.addTile('d');
    player1.addTile('p');
    player1.addTile('e');
    player1.addTile('l');
    player1.addTile('u');

    ScrabblePlayer player2 = new ScrabblePlayer();
    player2.addTile('z');
    player2.addTile('z');
    player2.addTile('y');
    player2.addTile('f');
    player2.addTile('u');
    player2.addTile('z');

    int count = 0;
    // This would set count to 1 because player1 has 1 'p' tile in her collection of tiles
    count = player1.getCountOfLetter('p');
    // This would set count to 2 because player1 has 2 'd'' tiles in her collection of tiles
    count = player1.getCountOfLetter('d');
    // This would set 0, because there isn't an 'a' tile in player1's tiles
    count = player1.getCountOfLetter('a');

    // This will return 3 because player2 has 3 'z' tiles in his collection of tiles
    count = player2.getCountOfLetter('z');
    // This will return 1 because player2 has 1 'f' tiles in his collection of tiles
    count = player2.getCountOfLetter('f');
  }
}

1 Answer

You are just going too fast. For step #1 of this exercise you only need to :

  • Create a new method, named getCountOfLetter, that returns an int and with a parameter of type char named letter.
  • Make the method return 0.

Nothing more. The method just has a name, a return type, a parameter, and returns 0.

So, for this step, you just need to add:

public int getCountOfLetter(char letter) {
    return 0;
}

Hope this helps

Tashfin Shahid
Tashfin Shahid
1,298 Points

Just read your response I think I was personally burnt out at this point and was looking for an easy way out. After taking a break and looking at this question again today without looking at your answer I am really surprised how I didn't get this haha.

:) Never underestimate the power of breaks (I also ignore those very often :) )