Imprimir com letra maiúscula? Java

public String imprimirFichaCatalografica();
{
        System.out.println();
}

Ja tenho uma classe autor, eu tenho que fazer imprimirfichacatalografica na classe Livro buscando da classe autor.

imprimirFichaCatalografica
Imprime em tela a ficha catalográfica do livro.
Por exemplo, suponha o objeto do tipo Livro abaixo:
titulo:
Objects First with Java - A Practical Introduction Using BlueJ
editora:
Pearson Education
ano:
2017
autores:
David Barnes
Michael Kölling
A impressão deve ser:
BARNES, D. KÖLLING, M. (2017) Objects First with Java - A Practical Introduction Using BlueJ. Pearson Education, 2017.
Ou seja:
Para cada autor: sobrenome do autor, em maiúsculas, seguido de vírgula, seguido pela inicial do primeiro nome do autor.
Ano do livro entre parênteses
Nome do livro, seguido de ponto.
Editora, seguida de vírgula
Ano do livro, seguido de ponto.
Deve utilizar métodos da classe Autor para imprimir o nome dos autores.

A classe Livro esta ssim:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Livro
{

//atribustos da classe
private String titulo;
private String editora;
private int ano;
private ArrayList<Autor> autores;

//entre parenteses parametros do construtor
public Livro(String titulo, String editora, int ano)
{   
    this.titulo = titulo;
    this.editora = editora;
    this.ano = ano;
    this.autores = new ArrayList<Autor>();

}
  
public Livro(String titulo)
{   
    this.titulo = titulo;
    this.autores = new ArrayList<Autor>();

}



public String getTitulo()
{
    return titulo;
}

public String getEditora()
{
    return editora;
}

public int getAno()
{
    return ano;
}

public ArrayList<Autor> getAutores()
{
    return autores;
}

public void setTitulo(String titulo)
{
    this.titulo = titulo;
}

public void setEditora(String editora)
{
    this.editora = editora;
}

public void setAno(int ano)
{
    this.ano = ano;
}

public void adicionarAutor(Autor autor){
    autores.add(autor);
}

public void listarAutores(){
    for(Autor autor : autores){
       System.out.println(autor.getNomeCompleto()); 
    } 
}

public void buscarAutor(String nomeCompleto){
    for(Autor autor : autores){
       if (autor.getNomeCompleto().equals(nomeCompleto)){
       System.out.println(nomeCompleto);
       return;
    } 
    }
         System.out.println("autor não encontrado");
         return;  
}

public void removerAutor(String nomeCompleto){
    for(Autor autor : autores){
       if (autor.getNomeCompleto().equals(nomeCompleto)){
           autores.remove(autor);
       System.out.println("Autor removido");
       return;
    } 
    }
       System.out.println("autor não encontrado");
       return;  
}

public void imprimirFichaCatalografica(){

   System.out.println(getAutores() + ", " + getEditora() + " " + getAno() + ", " +  " "   );
}

}

Você pode criar (sobrescrever na verdade) o método toString da classe Autor…

public String toString() {
    return this.sobrenome.toUpperCase() + ", " + this.nome.substring(0, 1);
}

Depois no método…

public String imprimirFichaCatalografica();
{
    System.out.println(autor + "...");
}

Isso já irá trazer o toString formatado automaticamente como BARNES, D por exemplo…

1 curtida