Inversão de um nome, passando o segundo informado para UpperCase - JAVA

Java

Eclipse

IntelliJ IDEA

NetBeans

26/03/2019

Olá, eu estou precisando saber a sintaxe em java da inversão de uma "frase", passando a ultima das palavras para maiuscula e separando por virgula, como o referencial de um autor, por exemplo: Machado de Assis --> ASSIS, machado.
Seria isto, desde já, obrigado!
José

José

Curtidas 0

Respostas

Nathália Hirth

Nathália Hirth

26/03/2019

String nome = "José Geraldo da Silva Camargo";
String[] palavras = nome.split("\\\\s+"); //Separa as palavras por espaço e salva num array de String.
int tamanho = palavras.length; // Pega o tamanho do array.
String referencia = palavras[tamanho-1].toUpperCase() + ", "; // Coloca o ultimo sobrenome em letras maiúsculas
for(int i=0; i<=tamanho-2; i++) {
referencia += palavras[i] + " "; // escreve o restante do nome
}
System.out.println(referencia);
GOSTEI 0
Nathália Hirth

Nathália Hirth

26/03/2019

Corrigindo a minha resposta, na segunda linha são apenas 2 barras invertidas no split.

String[] palavras = nome.split("\\\\s+");

String nome = "José Geraldo da Silva Camargo";
String[] palavras = nome.split("\\\\\\\\s+"); //Separa as palavras por espaço e salva num array de String.
int tamanho = palavras.length; // Pega o tamanho do array.
String referencia = palavras[tamanho-1].toUpperCase() + ", "; // Coloca o ultimo sobrenome em letras maiúsculas
for(int i=0; i<=tamanho-2; i++) {
referencia += palavras[i] + " "; // escreve o restante do nome
}
System.out.println(referencia);
GOSTEI 0
POSTAR