Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Java Java Arrays Iteration Looping Like These Programmers

michael lee
michael lee
5,179 Points

what am I doing wrong?

I cannot spot what is going wrong with my code, somebody help me, thanks!!

public class Programmers {

  public void printMenu() {
    String[] programmers = {
            "Yukihiro Matsumoto",
            "David Nolen",
            "Grace Hopper",
            "Linus Torvalds",
    for(int i = 0; i<programmers.length; i++){
      String programmer = programmers[i];
    System.out.println("Choose a programmer:%n %s", programmer);

    // TODO: Print out a menu by looping through the programmers array.
      The menu should be in the form of (each on a line of its own, starting with 1):
      1. Yukihiro Matsumoto
      2. David Nolen



2 Answers

hi, this is the working code; for(int i=0; i<programmers.length;i++) { System.out.printf("%d. %s %n",i+1, programmers[i]);


first u loop through the programmers array, every time u loop through an index in prigrammers u add 1 to i,so for example in the beggining your in i=0, then in the system.out.printf u add 1 to i and iterating the first index.

michael lee
michael lee
5,179 Points

thanks a lot, one quick question, what is %d stand for? and what is the difference between printf and println in this case?is it interchangeable?

Hi, u use %s and %d for formatting. %s is for strings and %d is for numbers. the difference between printf and println is that u can only format(use %s and %d as placeholders) only with the printf command, u can’t format with println, u use println for printing each word in separate lines.

if this answer helped u, please mark as best answer.