Duvida Strings

Olá galera…
To com uma dúvida…
Como posso fazer para digitar um nome, por exemplo Jão Amaral da Silva e fazer um método me retornar o nome abreviado como João Silva ou João da Silva.
Obrigado!!

Abrass.

Olá Vagner,

Fiz um pequeno exemplo usando split:

public static void main(String[] args) {
		
		String nome = "João dos Testes";
		
		String[] nomes = nome.split(" ");
		
		for (String string : nomes) {
			System.out.println(string);
		}
		
		System.out.println(nomes[0] + " " + nomes[nomes.length-1] );
		
	}

Se for sempre pegar o primeiro e ultimo nome uma maneira seria usar o split.

[code]package guj;

public class Teste {

static public String getNomeSobrenome(String nome){
	
	String[] nomes = nome.split(" ");
	
	String nomeSobrenome = nomes[0] +" " +nomes[nomes.length -1];
	
	return nomeSobrenome;
	
}

public static void main(String[] args) {
	
	
		String meuNomeCompleto = "Everton Silva Gomes";
		
		String meuNomeAbreviado = getNomeSobrenome(meuNomeCompleto);
		
		System.out.println(meuNomeAbreviado);
	
}

}
[/code]

Muito bom mesmo galera!! OBRIGADO!!!
Então ficou assim meu método:

[code]import java.util.*;
public class Tarefas{
public static void main(String args[]){
Scanner input = new Scanner(System.in);

String str="inicio";

System.out.print("Escreva um nome inteiro: ");
str = input.nextLine();

str = abrevianome(str);
System.out.println("Nome abreviado: " +str);

}
public static String abrevianome(String nomecompleto){
String[] nomeabreviado = nomecompleto.split(" “);
String nomesobrenome = nomeabreviado[0] +” " +nomeabreviado[nomeabreviado.length -1];
return nomesobrenome;
}

}[/code]

Abração