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();
}
}
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();
}
}