System.out.printf(">>%2$7d<<", i, j); //saida >> 321<
//$ marcador de posição ou seja aonde o valor vai aparecer
// 7 valor do tamanho do campo, se for menor completa com espa~ço branco
//d tipo d integer b boolean s tring
// % marca o inicio da formatação (obrigatorio)
System.out.printf("12%1$s", "13%1$s", "14%1$s");
/*
12 valor a ser impresso %1 parametro a ser usado $ local aonde entre parametro s tipo string
então no lugar do $ colocamos a sring 13%1$s pois ela é o parametro 1
12 13%1$s
se trocarmos
*/
System.out.printf("12%2$s", "13%1$s", "14%1$s"); // saida 1214%1$s
Boa questão da para confundir, pense nos parâmetros 1 e 2 como string.. flw
yastorm
Apesar da boa explicação sua, fiquei um bom tempo pra sacar a pegadinha. Muito boa a explicação.