Printf() x println()?

Percebi que não posso utilizar o método printf() quebrando em linhas como no println(). Só para constar existe alguma maneira?

public class MetodoPrint{
	
	public static void main (String[] args){

		System.out.println("\nUtilizando printf:");
		System.out.printf("\n9 x 1 =  %d \t9 x  6 = %d \n9 x 2 = %d \t9 x  7 = %d \n9 x 3 = %d \t9 x  8 = %d \n9 x 4 = %d \t9 x  9 = %d \n9 x 5 = %d \t9 x 10 = %d \n", 9*1,9*6,9*2,9*7,9*3,9*8,9*4,9*9,9*5,9*10);
		
		System.out.println("\nUtilizando println:");
		System.out.println("\n9 x 1 =  " + 9*1 + "\t9 x  6 = " + 9*6 +
						   "\n9 x 2 = "  + 9*2 + "\t9 x  7 = " + 9*7 +
					       "\n9 x 3 = "  + 9*3 + "\t9 x  8 = " + 9*8 +
					       "\n9 x 4 = "  + 9*4 + "\t9 x  9 = " + 9*9 +
					       "\n9 x 5 = "  + 9*5 + "\t9 x 10 = " + 9*10);
	}
}

Tentou o %n ?

Dá uma olhada na tabela dessa página: https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

2 curtidas

Uma das formas seria assim:

    System.out.printf("%s\n" +
                    "\n9 x 1 =  %d \t9 x  6 = %d \n" +
                    "9 x 2 = %d \t9 x  7 = %d \n" +
                    "9 x 3 = %d \t9 x  8 = %d \n" +
                    "9 x 4 = %d \t9 x  9 = %d \n" +
                    "9 x 5 = %d \t9 x 10 = %d \n",
                    "Utilizando printf:",
                    9*1,9*6,9*2,9*7,9*3,9*8,9*4,9*9,9*5,9*10);
1 curtida

É exatamente o que o Julio disse. Basta usar %n no lugar de \n. E ainda tem a vantagem de que ele utilizará uma quebra de linha multiplataforma.

1 curtida