Trocar os nomes

3 respostas Resolvido
java
xXSAMPXx

Queria trocar os nomes da String para ficar Albert Einstein, já encontrei soluções para este problema de outra forma,mas não consigo perceber porque assim não escreve nada.

public class MyClass {
public static void main(String args[]) {

String s = "Einstein Albert";
    System.out.println(nameShuffle(s));
    }
    
    public static String nameShuffle(String s) {
        String[] names = s.split(" ");
	    StringBuilder sb = new StringBuilder();
				
	    for(int i = names.length; i < 0 ; i--){
	        sb.append(names[i]);
		}
			
		return sb.toString();
    }
}

3 Respostas

Fefo80
String s = "Einstein Albert";

    String resultado = "";

    resultado += s.substring(s.indexOf(' ') +1, s.length());

    resultado += " ";

    resultado += s.substring(0, s.indexOf(' '));
    
    System.out.println(resultado);
Jonathan_Medeiros
Solucao aceita

Seu laço de repetição está com a condição incorreta, pois o contador “i” inicia com o valor 2, que é o tamanho do array, e como 2 é maior que zero ele não chega a fazer nenhuma iteração!

Exemplo:

public class Example {

    public static void main(String ... args) {
        String s = "Einstein Albert";
        System.out.println(nameShuffle(s));
    }

    public static String nameShuffle(String s) {
        String[] names = s.split(" ");
        StringBuilder sb = new StringBuilder();

        for(int i = names.length - 1; i >= 0 ; i--){
            sb.append(names[i]).append(" ");
        }

        return sb.toString();
    }

}
xXSAMPXx

obrigado!!

Criado 3 de agosto de 2021
Ultima resposta 5 de ago. de 2021
Respostas 3
Participantes 3