Ajuda com código básico

Pessoal,

alguem poderia me ajudar a encontrar qual o erro no meu código?

MÉTODOS:

public class MetodosClasse {
	private String refri;
	
	public void setNomeRefri(String nome){
		refri = nome;
	}
	
	public String getNomeRefri(){
		return refri;
	}
	
	public void exibemensagem(){
		System.out.printf("O nome do refri é:", getNomeRefri());
	}
}

APLICATIVO:

import java.util.Scanner;

public class Aplicativo {
	public static void main(String[]args){
		Scanner entrada = new Scanner(System.in);
		MetodosClasse objetometodoclasse = new MetodosClasse();
				
		System.out.println("Insira o nome do refri:");
		String onome = entrada.nextLine();
		objetometodoclasse.setNomeRefri(onome);
		
		objetometodoclasse.exibemensagem();
	}
}

[b]O aplicativo executa direitinho, mas quando chega em “O nome do refri é:” o método get não retorna o nome do refri.

Agradeço desde já!

Ps.: Desculpem o aplicativo ridículo… kkkk só pra estudo mesmo.

Altere o método exibemensagem()

 public void exibemensagem(){  
        System.out.printf("O nome do refri é:", getNomeRefri());  
    }  

para

 public void exibemensagem(){  
        System.out.println("O nome do refri é:" +  getNomeRefri());  
    }  

No código do aplicativo troque “entrada.nextLine()” para “entrada.next()”. (?)

O metodo printf precisa de um argumento de formatação dentro da String passada, assim ele sabe aonde fazer o replace. O metodo String.printf() imita os printf() do C/C++ com algumas particularidades.

Então, tente o codigo assim:

     public void exibemensagem(){  
         System.out.printf("O nome do refri é: %s",  getNomeRefri() );  
     }  

Claro que a concatenação de strings funciona tb!

[quote=lucamartins]O metodo printf precisa de um argumento de formatação dentro da String passada, assim ele sabe aonde fazer o replace. O metodo String.printf() imita os printf() do C/C++ com algumas particularidades.

Então, tente o codigo assim:

     public void exibemensagem(){  
         System.out.printf("O nome do refri é: %s",  getNomeRefri() );  
     }  

Claro que a concatenação de strings funciona tb![/quote]
Exatamente isso. Se quiser ainda uma quebra de linha, adicione um %n depois do %s.

Problema resolvido!

É exatamente isso mesmo que vocês falaram.

Muito obrigado a todos pela ajuda!