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 Basics Getting Started with Java Strings, Variables, and Formatting

Pratik shetty
Pratik shetty
1,023 Points

Bummer! java.util.MissingFormatArgumentException: Format specifier '%s' () please help here

please help

Name.java
// I have setup a java.io.Console object for you named console
String firstName ="Pratik";
console.printf("Pratik %s can code in java");

1 Answer

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! I received your request for assistance. You're pretty close here, but let's talk a bit about what the "%s" does. It is a placeholder that tells Java to insert the value of a String type variable here. But if your program has 10 String variables, it can't possibly know which you mean should be inserted there. Because of this, for every placeholder you have, it requires that you specify which variable value should be inserted there. Here is your code, but slightly altered:

String firstName ="Pratik";
console.printf("%s can code in java", firstName);

The end reesult will be that "Pratik can code in java" will be diplayed in the console. This is because the value of firstName is "Pratik" and we're inserting that where the %s is currently.

Hope this clarifies things! :sparkles:

Thanks!