Exibe Iniciais do nome completo em maiúsculo

Oi pessoal preciso de um help de vocês.
Tenho que criar um programa que receba o nome do usuário da tela. E exiba na tela as iniciais do nome todo em letra maiúscula. Fiz da forma que postei abaixo, porém o programa não compila. Não sei o que estou fazendo de errado.

Trecho do código
[code]System.out.print("Nome: “);
String nome = input.nextLine();
String nomes = nome.trim().toUpperCase();
nomes.split(” ");

nomes.trim();

String[] partesNome = nomes.split(" ");
String iniciais = " ";
char letra = ' ';
String[] reservadas = {"DO", "DOS", "DA", "DAS", "DE", "A"}; 

for (int ini = 0; ini < partesNome.length; ini ++){
    if ( partesNome == reservadas ){
        continue;

        letra = partesNome.charAt(0);
        iniciais += letra;
     }
}
System.out.printf("%15s %c", "\nIniciais do nome: ", iniciais);  [/code]

Obrigada :frowning:

Cara tem um jeito bem simples:

Scanner input = new Scanner(System.in);

		System.out.print("Nome: ");
		String nome = input.nextLine().toUpperCase();

		System.out.print("Iniciais do Nome: ");
		System.out.print(nome.charAt(0));
		for (int i = 0; i < nome.length(); i++) {
			if (nome.charAt(i) == ' ') {
				System.out.print(nome.charAt(i + 1));
			}
		}

do jeito que vc fez tem alguns erros na hora do for
por exemplo:

partesNome.charAt(0);

como é um array vc deve colocar da seguinte forma

partesNome[ini].charAt(0);

Obrigada MuCReis funcionou. :smiley:

Outra Dúvida 1
Agora como faço para remover os espaços em branco entre as letras caso seje digitado assim:
Usuário entra com: Maria Firmina Costa
Imprime assim: MF C
Gostaria que saísse assim: MFC
Estou usando o trim() mais não está funcionando para mais de um espaço em branco digitado.

Outra Dúvida 2
Na hora que imprimir as iniciais do nome, não pode considerar as iniciais dos conectores (preposições) tipo assim:
Usuário entra: Maria Firmina da Costa
Imprime iniciais: MFDC
O “D” não é para sair, pois é um conectivo.
Fiz um if lá na solução que postei, mas não sei se está certo, ou se existe outra forma de fazer.

Obrigada

Caro vick01,
Quanto a sua duvida 1, só pode utilizar o metodo replaceAll de uma String, pesquisa sobre ele, tem uma utilidade boa, quanto a duvida 2 seu laco for tá quse certo.
Vou explicar o que tá errado e voce tenta corrigir.
o laco for ta certo

 for (int ini = 0; ini < partesNome.length; ini ++){  

seu if esta verificando se o vetor partesNome inteiro é igual ao vetor reservadas inteiro, ou seja a mesmo que o usuario tenha o nome de “DO”, “DOS”, “DA”, “DAS”, “DE”, “A”, examente assim nunca entrará no seu if.

         if ( partesNome == reservadas ){  
             continue;  
   
             letra = partesNome.charAt(0);  
             iniciais += letra;  
          }  
     }  

Novamente o metodo o metodo replace será util