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!

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 (Retired) Creating the MVP For Each Loop

What is wrong with this syntax ?

It gives me an error that says " reached end of file while parsing"

public class ScrabblePlayer {
  private String mHand;

  public ScrabblePlayer() {
    mHand = "";

  public String getHand() {
   return mHand;

  public void addTile(char tile) {
    // Adds the tile to the hand of the player
    mHand += tile;

  public boolean hasTile(char tile) {
   return mHand.indexOf(tile) > -1;
   public int getTileCount() {
    int counter = 0;
    for (char tile: mHand.toCharArray()) { 

     if (mHand.indexOf(tile) >= 0)
   counter = tile;

     public int getTileCount(char letter) {
     counter = 0; 
       for (char c: mHand.toCharArray()){
         if (letter == c) {
           counter ++;

       return counter;

1 Answer

Rob Bridges
.a{fill-rule:evenodd;}techdegree seal-36
Rob Bridges
Full Stack JavaScript Techdegree Graduate 35,467 Points

Hi Lorcan,

You have two methods for getTileCount, you really only need the one that accepts the char as the argument, when you reopen the challenge just do what you did in that method, loop through the array of chars and increase the counter if it matches with the passed in tile argument, also you will want to include int in front of your counter variable otherwise Java will get confused on what exactly you meant.

Besides that this looks well.