Armazenando cada letra de uma frase em um Array!Precisando de Ajuda!

Iae galera do Forúm!! Tenho que fzer um programa que solicita do usuário uma frase e tenho que convertê-la em código morse! Fiz a conversão com uma série de Switchs, o problema que estou encontrando a agora é como separar cada letra da String inserida pelo usuário!! Uma maneira facil seria pedir que o usuário inserisse letra por letra, mas queria sber ser há um método melhor que facilite a vida do usuário do programa.

Eh isso ae!! E agradeço qlq foça ai da galera…

Obs.: Não é utilizando interface gráfica

Olá,

O método toCharArray da String retorna um array de char.

E ai Capablanca,

Cara é o seguinte: Tu pode usar um método de string que é o split, ele retorna exatamente um array, o problema é que esse método quebra a String mas tem que colocar algum limitador, por exemplo:

String teste = “teste, de, frase”;
//Usando split
String[] testeArray = teste.split( “,” );
//Vai quebrar a String em cada vírgula.
//Resultado :
//testeArray[ 0 ] == “teste”
//testeArray[ 1 ] == “de”
//testeArray[ 2 ] == “frase”
//Ou seja, a vírgula é eliminada

Como seu programa é para transformar em código morse, você pode colocar um ponto depois de cada letra, assim você pode usar o split e como delimitador colocar o ponto, poderia ser mais ou menos assim:


public String[] retornaLetras( String frase )
{
       String pontos = "";
       String[] letrasPontos;
  
       //Adicionando os pontos depois de cada letra
       for ( int i = 0; i < frase.length(); i++ )
       {
              pontos += frase.substring( i , i + 1) + ".";
       }

        letrasPontos = pontos.split( "." );

    
        return letrasPontos;
}

Bom pode seguir por esse caminho, esse método retorna um array onde cada posição é uma letra.

Espero ter ajudado!

Até mais!

[quote=fradys]E ai Capablanca,

Cara é o seguinte: Tu pode usar um método de string que é o split, ele retorna exatamente um array, o problema é que esse método quebra a String mas tem que colocar algum limitador, por exemplo:

String teste = “teste, de, frase”;
//Usando split
String[] testeArray = teste.split( “,” );
//Vai quebrar a String em cada vírgula.
//Resultado :
//testeArray[ 0 ] == “teste”
//testeArray[ 1 ] == “de”
//testeArray[ 2 ] == “frase”
//Ou seja, a vírgula é eliminada

Como seu programa é para transformar em código morse, você pode colocar um ponto depois de cada letra, assim você pode usar o split e como delimitador colocar o ponto, poderia ser mais ou menos assim:


public String[] retornaLetras( String frase )
{
       String pontos = "";
       String[] letrasPontos;
  
       //Adicionando os pontos depois de cada letra
       for ( int i = 0; i < frase.length(); i++ )
       {
              pontos += frase.substring( i , i + 1) + ".";
       }

        letrasPontos = pontos.split( "." );

    
        return letrasPontos;
}

Bom pode seguir por esse caminho, esse método retorna um array onde cada posição é uma letra.

Espero ter ajudado!

Até mais![/quote]

Meu deus… pra que complicar a vida ?

“minha linda frase”.toCharArray()

ahuahuihauhuahai
Incrível como pode ser escrito dois códigos tão distintos para uma mesma aplicação!
Bom, só vim aqui pra corrigir uma coisa no código do brother do código maior: “length” é uma variável static da classe String, e não um método “length()”. Se forem compilar dessa forma, da pau!
Espero ter ajudado!
Quaisquer observações - correções ou acréscimos - são bem-vindas!

PS: “minha linda frase”.toCharArray() foi um barato!!!
uahuhauahiuahuahuaha
Valeus chun!

Aham, length() é um método da classe String.
length (sem o “()” ) é uma propriedade de arrays.

Caraca!!! Foi malzzzzzzzzzzzzzzzz brother!
Viajei legal!!!
Me confundi com os objetos de arrays mesmo!
Realmente, a classe String contém um método length()!
E a variável length são dos arrays!
1000 desculpas!