Primeiro caractere

Pessoal como faço pra mandar imprimir o primeiro caractere de várias palavras :?:

http://java.sun.com/javase/6/docs/api/java/lang/String.html

Metodo substring

Ou charAt(int).

Vcs poderiam ser mais claros, nunca usei estas classes.Sou iniciante. :frowning:
tenho q digitar várias palavras e usar um while para imprimir o 1º caractere de todas elas.Detalhe: tem uma condição, as palavras tem q ser diferentes da palavra FIM

bom, meus conselhos para vc são…

1° baixe uma IDE (é um ambiente visual para programar), eu te aconselho o Eclipse, é de gratis e tem muito recurso, é muito bom

depois de estar com a IDE, sempre que precisar de alguma coisa vc tenta 1° achar… tipo

String palavra1 = “abobrinha”;

poxa vida… que kero pegar a 1° letra de palavra1 … como fazer ??? simples…

palavra1.

quando vc digitar o “dot” o “ponto” o “.” vai aparecer todas as opções… ai vc viu gente respondendo ai… charAt(int) … vc poderia ver q toda string tem isso, e ja matar o seu problema, ou procurar entre varias coisas como substring e etc…

a.charAt(0) te retorna a 1° posição de uma string de nome a,

c vc quer saber c uma string é igual a alguma coisa tente… suaString.equals(suaOutraString) … assim vc consegue saber quem é o q

Além de seguir os conselhos de Lavieri, é de fundamental importância para TODOS os programadores(as) em Java saber consultar a documentação das classes. Portanto, vá se acostumando.

Site da documentação: http://java.sun.com/javase/6/docs/api/ (também pode ser baixada).

No seu caso, pelo que entendi, você terá uma String com várias palavras, e você quer pegar a primeira letra de cada palavra. Basicamente, dois métodos da classe String serão utilizados: o método split(String) - que retorna um array a partir da quebra de uma String inicial - e o método charAt(int) - que retorna um char em determinado índice da String (lembrando que os índices começam a ser contados do zero).

Exemplo de utilização dos métodos:

public class Aprendendo {
    public static void main(String... args) {
        // usando o método split
        String longa = "uma string com várias palavras diferentes";
        String[] palavras = longa.split(" "); // divide nos espaços
        for (int i = 0; i < palavras.length; i++) {
            System.out.println(palavras[i]);
        }
        // usando o charAt
        String palavrao = "pneumoultramicroscopicossilicovulcanoconiótico";
        // sim, a palavra acima existe!
        for(int i  = 0; i < palavrao.length(); i++) {
            System.out.println(palavrao.charAt(i); // imprime em linhas separadas cada caractere
        }
    }
}

como exercicio dê uma melhorada nesse código.

public class Test
{
	public static void main(String[] args) throws Exception {
		String [] palavras = {"Aprender","Java","é","muito","legal","no","GUJ","fim","Teste"};
		String palavra = "";
		
		for(int i = 0; (i < palavras.length) && (!palavra.equalsIgnoreCase("FIM")); i++) {
			palavra = palavras[i];
			
			if(palavra != null && palavra.length() > 0)
				System.out.println(palavra.charAt(0));
		}
	}
}

espero ter ajudado.

um grande abraço

Anderson Gomes.

Espero que te ajude…

[code]import javax.swing.JOptionPane;

public class CinthyaMelo {

public static void main(String[] args) {

		String texto,palavra="";
		texto = JOptionPane.showInputDialog(null, "Digite o que deseja", "Texto", JOptionPane.WARNING_MESSAGE).trim();// Aqui estou pegando o que foi digitado e tirando o exesso de espaços no começo e no fim da String com o método trim();
		//texto = "       Esta linha será impressa somente o primeiro caráctere de cada palavra exeto se conter a palavra fim FIM Fim FIm fIM fIm        ".trim();
		int tamanho = texto.length();
		
		for (int caracteres=0;caracteres<tamanho;caracteres++)
		{
			if (!texto.substring(caracteres,caracteres+1).equals(" "))// o substring(indiceInicial,indiceFinal) serve para se copiar parte de uma String
			{
				palavra = palavra+texto.substring(caracteres,caracteres+1);
			}
			else 
			{
				if (!palavra.toLowerCase().equals("fim"))//o método toLowerCase() serve para passar a String para letras minúsculas, é útil para comparar String's. O .equals("String") serve para comparar a String com o que está dentro dos parentes. O sinal de ! no início do teste serve para dizer que o teste será verdadeiro se tudo isso for contrário ao testado
				System.out.println(palavra.substring(0,1));
				palavra = "";
			}
			if (caracteres==tamanho-1)
			{
				if (!palavra.toLowerCase().equals("fim"))
				System.out.println(palavra.substring(0,1));
				palavra = "";
			}
		}
}

}[/code]

Já existe solução neste tópico (acho que umas 3), mas vou mostrar uma com while.

[code]public static void main(String args[])
{
String
ls_text = “NÃO SEI O QUE ESCREVER”;

char
caracter_atual;
	
int
ln_posicao		=	0;
	
//
// Percorre da posição inicial zero (0) até o tamanho da sua string.
//
while	(
		ln_posicao		<	ls_text.length()
	)
{
	// imprime o primeiro caracter.
	// OBS: Lembrando que o mesmo fica em looping (while) mostrando assim os outros caracteres.
	System.out.println(ls_text.charAt(ln_posicao));
		
	ln_posicao++;
}

}[/code]

[code]public class Main {

public static void main(String[] args) {
    String longa = "uma string com várias palavras diferentes";
    for (String str : longa.split(" ")) {
        System.out.println(str.substring(0, 1));
    }
}

}[/code]
Abraço!

[quote=truck1n][code]public class Main {

public static void main(String[] args) {
    String longa = "uma string com várias palavras diferentes";
    for (String str : longa.split(" ")) {
        System.out.println(str.substring(0, 1));
    }
}

}[/code]
Abraço![/quote]

ficou bem enxuto, mto bom.