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 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.