Como escrevo a saída de um método no main

. Ao fazer exercícios físicos, você pode utilizar um monitor de frequência cardíaca para ver  se sua frequência permanece dentro de um intervalo seguro sugerido pelos seus  treinadores e médicos. Segundo a American Heart Association (AHA)  (www.americanheart.org/presenter.jhtml?identifier=4736), a fórmula para calcular a  frequência cardíaca máxima por minuto é 220 menos a idade em anos. Sua frequência  cardíaca alvo é um intervalo entre 50-85% da sua frequência cardíaca máxima.  [Observação: essas fórmulas são estimativas fornecidas pela AHA. As frequências  cardíacas máximas e alvo podem variar com base na saúde, capacidade física e sexo da  pessoa. Sempre consulte um médico ou profissional de saúde qualificado antes de  começar ou modificar um programa de exercícios físicos.] Crie uma classe chamada  FrequenciaCardiaca. Os atributos da classe devem incluir o nome, sobrenome e data de  nascimento da pessoa (consistindo em atributos separados para mês, dia e ano de  nascimento). Sua classe deve ter um construtor que receba esses dados como  parâmetros. Para cada atributo forneça métodos set e get. A classe também deve incluir  um método que calcule e retorne a idade (em anos), um que calcule e retorne a  frequência cardíaca máxima e um que calcule e retorne a frequência cardíaca alvo da  pessoa. Escreva um aplicativo Java que solicite as informações da pessoa, instancie um  objeto da classe FrequenciaCardiaca e imprima as informações a partir desse objeto —  incluindo nome, sobrenome e data de nascimento da pessoa — calcule e imprima a idade  da pessoa (em anos), seu intervalo de frequência cardíaca máxima e sua frequência  cardíaca alvo.

/**

  • Classe que calcula a fequencia cardiaca de uma pessoa dada sua idade.
  • Versão: 0.01.1
  • Autor: Ewerton Cleudson de Sousa Melo

/
import java.util.
;

public class FrequenciaCardiaca{
private String nome;
private String sobreNome;
private int diaNasc = 0, mesNasc = 0, anoNasc = 0;

FrequenciaCardiaca(String nome, String sobreNome, int diaNasc, int mesNasc, int anoNasc){
	this.nome = nome;
	this.sobreNome = sobreNome;
	this.diaNasc = diaNasc;
	this.mesNasc = mesNasc;
	this.anoNasc = anoNasc;

} // Fim do construtor (nome, sobreNome, diaNasc, mesNasc, anoNasc)

FrequenciaCardiaca(){
	
} // Fim do construtor FrequenciaCardiaca

public void setNome(String nome){
	this.nome = nome;
}//Fim do metodo setNome

public String getNome(){
	return this.nome = nome;
}//Fim do metodo getNome

public void setSobreNome(String sobreNome){
	this.sobreNome = sobreNome;
}//Fim do metodo setSobreNome

public String getSobreNome(){
	return this.sobreNome = sobreNome;
}//Fim do metodo getSobreNome

public void setDiaNasc(int diaNasc){
	this.diaNasc = diaNasc;
}//Fim do metodo setDiaNasc

public int getDiaNasc(){
	return diaNasc;
}//Fim do metodo getDiaNasc

public void setmesNasc(int mesNasc){
	this.mesNasc = mesNasc;
}//Fim do metodo setDiaNasc

public int getmesNasc(){
	return mesNasc;
}//Fim do metodo getDiaNasc

public void setAnoNasc(int anoNasc){
	this.anoNasc = anoNasc;
}//Fim do metodo setDiaNasc

public int getAnoNasc(){
	return anoNasc;
}//Fim do metodo getDiaNasc

public static int calculaIdade(int anoNasc){
	Calendar dataAtual = Calendar.getInstance();
	int idade = 0;
	if(anoNasc != 0){
		idade = dataAtual.get(Calendar.YEAR) - anoNasc;
	}
	
	return idade;
}//Fim metodo calculaIdade

public static int frequenciaCardiacaMaxima(int idade){
	int freqCardMax = 220 - idade;
	
	return freqCardMax;	
	
}//Fim do metodo frequenciaCardiacaMaxima

public static double frequenciaCardiacaAlvo(int freqCardMax){
	
	double freqCardAlvo = (0.85 * freqCardMax - 0.5 * freqCardMax) / 2.;		
	return freqCardAlvo;	
	
} //Fim do metodo frequenciaCardiacaAlvo

public void exibirMensagem () {
	System.out.printf("%s %s", this.getNome(), this.getSobreNome());		
} //Fim metodo exibirMensagem

}//Fim da Classe FrequenciaCardiaca

/** Classe que testa as funcionalidades de TesteFrequenciaCardiaca. */

import java.util.*;

public class TesteFrequenciaCardiaca{

 public static void main(String args[]){
	
	Scanner input = new Scanner(System.in);
	String nome;
	String sobreNome;
	int diaNasc;
	int mesNasc;
	int anoNasc;
	int idade = 0;
	int freqCardMax = 0;
	double freqCardAlvo = 0;
	
	
	System.out.print("Digite nome: ");
	nome = input.nextLine();
			
	System.out.print("Digite sobreNome: ");
	sobreNome = input.nextLine();
			
	System.out.print("Digite a data de nascimento: ");
	diaNasc = input.nextInt();
	
	System.out.print("Digite o mes de nascimento: ");
	mesNasc = input.nextInt();
	
	System.out.print("Digite o ano de nascimento: ");
	anoNasc = input.nextInt();
	
	FrequenciaCardiaca fc = new FrequenciaCardiaca(nome, sobreNome, diaNasc, mesNasc, anoNasc);
		
	fc.exibirMensagem();
	FrequenciaCardiaca.calculaIdade(anoNasc);
	fc.frequenciaCardiacaMaxima(idade);
	fc.frequenciaCardiacaAlvo(freqCardMax);
	
	System.out.printf("%.2f", freqCardMax);
	
}

}//Fim da classe TesteFrequenciaCardiaca

Seria imprimir o retorno de um método a sua dúvida?
Se sim:

System.out.printf("%.2f", fc.frequenciaCardiacaAlvo(freqCardMax));

Era para ter funcionado, mas não funcionou…
Fiz de forma diferente usando o nome da classe.
Coisas de programa, vai entender…