Matriz de Caracteres [RESOLVIDO]

1. Matriz de Caracteres [RESOLVIDO]

Alexandra Silva
Alexandra241

(usa Debian)

Enviado em 04/10/2012 - 22:53h

sou iniciante em Java e tô tentando implementar um programinha que irá receber uma string..de qualquer tamanho, dividi-lá em caracteres e posteriormente armazena-los em posições de uma matriz.
Tenho algumas dúvidas a respeito..espero que possam me ajudar. O ideal seria mesmo uma matriz pra armazenar os caracteres? Ou um array list funciona melhor?

Tô tentando implementar dessa forma:

public static void main(String[] args) {
String teste = "Fórum GUJ"
int tam_teste;
double raiz;
int tam_matriz;
String matriz_caracteres[][];

tam_teste = teste.length(); //pra eu saber qual a dimensão da matriz terei que criar
raiz = Math.sqrt(tam_teste);
tam_matriz = (int)raiz;

String t[] = teste.split(" "); //Divide por caracteres a string

for(int i=0;i<=tam_matriz; i++){
for(int j=0; j<=tam_matriz; j++){
matriz_caracteres[i][j] = t[];
}
}


Só que não funciona, a matriz não está recebendo tudo corretamente. Espero que possam me ajudar..;-)


  


2. Re: Matriz de Caracteres [RESOLVIDO]

Alexandra Silva
Alexandra241

(usa Debian)

Enviado em 04/10/2012 - 22:58h

Não necessariamente em uma matriz, mas em uma estrutura que seja tipo, e eu possa manipular os seus caracteres entre sim, tipo substituir linha por coluna, diagonal principal por diagonal secundária.


3. Re: Matriz de Caracteres [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 04/10/2012 - 23:00h

Use a função charAt():


for(i=0;i<string.length();i++){
string.charAt(i) = vetor[i];
}


Coloquei com vetor só para entendimento, mas acho que deve ser melhor com vetor e não matriz. Aliás, por que matriz?


4. Re: Matriz de Caracteres [RESOLVIDO]

Alexandra Silva
Alexandra241

(usa Debian)

Enviado em 04/10/2012 - 23:20h

rei, matriz porque minha ideia é criptograr essa string embaralhando ela própria, após preenchida a matriz girar 90º ou 270º ou substituir diagonal principal por diagonal secundária.


5. Re: Matriz de Caracteres [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 05/10/2012 - 07:08h

Ok, então pode utilizar minha sugestão, porém, quando for atribuir os caracteres a matriz lembre-se de adicionar outro laço com o contador j e fazer:


string.charAt(i) = vetor[i][j];


Observe que no seu código você está utilizando como matriz:

matriz_caracteres[j] = t[];

Talvez seja por isso que não está dando certo.


6. Re: Matriz de Caracteres [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 07/10/2012 - 19:05h

@Alexandra

Veja o post sobre biblioteca jasypt de criptografia em Java em http://mundodacomputacaointegral.blogspot.com.br/2012/10/jasypt-criptografia-em-java.html


7. Re: Matriz de Caracteres [RESOLVIDO]

Alexandra Silva
Alexandra241

(usa Debian)

Enviado em 08/10/2012 - 10:00h

Bem, até agora várias de minhas tentativas foram em vão, ou seja, não me levaram a uma matriz com os caracteres de uma string qualquer.
Não existe como implementar isso em java?
Eu quero tentar um esquema assim de criptografia. Embaralhando os caracteres da matriz, seja girando ela 90º ou substituindo diagonal princpal por diagonal secundária.
Se alguém puder me ajudar, ficarei bem grata, já que eu não tô conseguindo.

@saitam, vi a lib jasypt, mas não entedi nada do que ela faz, digo, não entendi nada da implementação dos métodos! E eu preciso saber o que tá rolando, qual processo/fórmula/"racíocinio" utilizado para criptograr e descriptografar.


8. Re: Matriz de Caracteres [RESOLVIDO]

cr0n
_di0

(usa FreeBSD)

Enviado em 08/10/2012 - 17:25h

Não entendi muito bem o que quer de fato, mas nota-se que seu código, além de estar meio bagunçado e confuso, contém erros. Não sei se você se confundiu, mas o método split nesse caso não vai dividir por caractere mas por espaço(" "). Ficando:


t[0] = "Fórum";
t[1] = "GUJ";

Outro ponto, que aliás foi citado pelo membro rei_astro é, que está tentando escrever em regiões erradas no vetor. Não sei o que exatamente pretende fazer, muitas melhorias devem ser feitas no seu fonte, eu deixei aquela bagunça :D mas para fins didáticos incrementei um trecho que grava uma string em uma matriz bidimensional:




public class Teste
{

public static void main(String[] args) {
String teste = "Fórum GUJ";
int tam_teste;
double raiz;
int tam_matriz;
String matriz_caracteres[][];;

tam_teste = teste.length(); //pra eu saber qual a dimensão da matriz terei que criar
raiz = Math.sqrt(tam_teste);
tam_matriz = (int)raiz;

String t[] = teste.split(" "); //Divide por caracteres a string

matriz_caracteres = new String[t.length][];
int i = 0;
for(String line : t) {
matriz_caracteres[i++] = line.split(" ");
}
System.out.println("Primeiro indice: " + matriz_caracteres[0][0] + "\n");
System.out.println("Segundo indice: " + matriz_caracteres[1][0] + "\n");
}
}



Você como eu não manja muito de Java e já quer trabalhar com criptografia? Analogicamente eu acho que você está aprendendo a dar uns golpes de karatê e já quer lutar com Anderson Silva. (Y)



9. Re: Matriz de Caracteres [RESOLVIDO]

Alexandra Silva
Alexandra241

(usa Debian)

Enviado em 10/10/2012 - 09:30h

Pois é, fuçando, quebrando cabeça que aprendemos!
Acabei por usar apenas vetores e trabalhei com seus índices!
Usei também a lib jasypt!;)


10. Re: Matriz de Caracteres [RESOLVIDO]

Alexandra Silva
Alexandra241

(usa Debian)

Enviado em 10/10/2012 - 09:30h

Pois é, fuçando, quebrando cabeça que aprendemos!
Acabei por usar apenas vetores e trabalhei com seus índices!
Usei também a lib jasypt!;)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts