Boa noite Pessoal, tudo bem?
Eu estou realizando um exercício em Java e travei em uma parte. Gostaria da ajuda de vocês.
Eu tenho uma classe livro que contem os seguintes atributos
O Exercício proposto é que eu pegue a String Autor e formate ela para o padrão ABNT, por exemplo: Ex.: José de Alencar = ALENCAR, José de
Estou meio travado quanto a lógica que preciso aplicar para isto.
Entendi, muito obrigado!
Ontem eu pesquisei bastante e até encontrei uma solução mas acabei não entendo ela muito bem, pois tinha só o código e eu ainda to bem no inicio do curso.
O código tinha essas instruções, porém não entendo muito bem a função do primeiro loop, você poderia me explicar ele? E também essa parte do código que você passou
“int ultimo = partes.length - 1;”
a parte do -1 me confunde, desculpe se talvez esse tipo de pergunta soe meio burra, mas realmente tenho essa dúvida.
e enquanto cada caractere encontrado for diferente de espaço em branco
autor.charAt(i) != ' '
vai vindo pra frente
i--
convertendo o caractere pra letra maiúscula
Character.toUpperCase(autor.charAt(i))
A variável partes é o nome completo com suas partes separadas pelo espaço em branco.
Por exemplo, uma String com meu nome "Ricardo Artur Staroski" se for quebrada em partes, vai gerar um array com 3 elementos:
String[] partes = new String[] { "Ricardo", "Artur", "Staroski" };
O atributo length de um array diz quantos elementos ele possui, no caso do array partes acima, o length vai ser 3, pois contém 3 elementos.
As posições do array começam em 0.
O primeiro elemento está na posição 0.
O segundo elemento está na posição 1.
O terceiro elemento está na posição 2.
Por isso a variável ultimo foi inicializada com partes.length - 1
Essa é a forma de obter a posição do último elemento.
Não se deve pedir desculpas por perguntar.
Quem deve pedir desculpas são as pessoas ignorantes que se recusam a perguntar quando tem dúvida.