Pessoal como faço pra mandar imprimir o primeiro caractere de várias palavras :?:
Ou charAt(int).
Vcs poderiam ser mais claros, nunca usei estas classes.Sou iniciante.
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.