Yes, two nested loops seem sufficient. The outer should be used to control the "row" of the triangle (e.g. if the letter is 'D' how many rows are there? how about 'E'? what's the relationship here?)

The inner loop is used to displayed each row. Notice that you can start from 'A' going to 'D' and coming back to A, so something like:

Say A + n is the letter (in case letter is 'D' n is 3)

(A) (A+1) (A+2) ... (A + (n - 1)) (A+n) (A + (n - 1)) ... (A + 2) (A + 1) (A)

Everything revolves around n, pretty much. Remember that the center letter varies for each row (so does n), and this is what your outer loop should be keeping track off.