Formatação de decimais no java

Pessoal podem me ajudar, preciso formatar o resultado com duas casas decimais, tentei de dois jeiyos o primeiro usando o printf e os caractéres %.2f e o outro %.2f%n e esta dando erro

package application;

import java.util.Locale;
import java.util.Scanner;

import entities.serviceRetangulo;

public class clientRetangulo {

	public static void main(String[] args) {

		Locale.setDefault(Locale.US);
		Scanner input = new Scanner(System.in);
		
		serviceRetangulo retangulo;
		retangulo = new serviceRetangulo();
		
		
		System.out.println("Entre com um valor para a largura do triângulo: ");
		retangulo.largura = input.nextDouble();
		System.out.println();
		System.out.println("Entre com um valor para a altura do triângulo: ");
		retangulo.altura = input.nextDouble();
		
		System.out.printf("o valor da sua áerea é:   %.2f%n" + retangulo.area());
		
	}

}

RETORNO DO ERRO:

o valor da sua áerea é:   Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%.2f'
	at java.base/java.util.Formatter.format(Formatter.java:2688)
	at java.base/java.io.PrintStream.format(PrintStream.java:1209)
	at java.base/java.io.PrintStream.printf(PrintStream.java:1105)
	at application.clientRetangulo.main(clientRetangulo.java:25)
2 curtidas

No printf você separa os argumentos por vírgula:

System.out.printf("o valor da sua áerea é:   %.2f%n", retangulo.area());
                                                    ^
                                                   aqui
2 curtidas