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

Sam Asghar
800 PointsHi Guys! Please explain:
I was trying to make a similar program to PezDispenser.java but instead of declaring the name in the program i wanted the user to have that option. So i imported the Scaner for this task. What am in doing wrong?
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner bubbleName = new Scanner(System.in);
System.out.println ("Hi! What Bubble Head do you want?");
String bubbleAnswer = bubbleName.nextLine();
BubbleHead bubbleHead = new BubbleHead(bubbleAnswer);
System.out.println("Your Bubble Head is" + bubbleHead.getBubbleName());
}
}
class BubbleHead {
final private String mBubbleName;
public BubbleHead(String headName) {
headName = this.bubbleName;
}
public String getBubbleName() {
return headName;
}
}
./BubbleHead.java:13: error: cannot find symbol return headName; ^ symbol: variable headName location: class BubbleHead 1 error
1 Answer

andren
28,554 PointsThere are a couple of issues in the BubbleHead class.
In the constructor you set
headName
which is the parameter that is passed in to a field variable calledbubbleName
. This is wrong both in the sense that it is the opposite of what you want to do (you want to set the field variable equal to the parameter) and in the sense thatbubbleName
is not the right name for the field variable. In your class you have called the name field variablemBubbleName
.In the
getBubbleName
you return a variable which does not exist, I assume you intended to returnmBubbleName
.
If you fix the order and naming of the variables in the contructor and fix the name of the variable used in the getter method like this:
class BubbleHead {
final private String mBubbleName;
public BubbleHead(String headName) {
mBubbleName = headName;
}
public String getBubbleName() {
return mBubbleName;
}
}
Then your code should work. Note that I also removed the "this" keyword, that is only needed when the field variable and parameter share the same name.
Sam Asghar
800 PointsSam Asghar
800 PointsThank you! You are the best!