Primeiro caractere

10 respostas
Cinthya_Melo

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

10 Respostas

peczenyj

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

Metodo substring

M

Ou charAt(int).

Cinthya_Melo

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

Lavieri

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

M

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
        }
    }
}
a.gomes

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.

gqferreira
Espero que te ajude...
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 = "";
				}
			}
	}
}
Matheus_Leandro_Ferr

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

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++;
	}
}
T
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));
        }
    }
}
Abraço!
a.gomes
truck1n:
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));
        }
    }
}
Abraço!

ficou bem enxuto, mto bom.

Criado 2 de fevereiro de 2009
Ultima resposta 3 de fev. de 2009
Respostas 10
Participantes 8