Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
estou tentando fazer um criptografador o código já esta todo pronto, meu único problema é que ele dá um erro na linha 30, segue o código e o erro, respectivamente.
Erro:
_________________Atenciosamente:
liuzp
"A mente que se abre para uma nova ideia, jamais voltará ao seu tamanho original" Albert Einstein
estou tentando fazer um criptografador o código já esta todo pronto, meu único problema é que ele dá um erro na linha 30, segue o código e o erro, respectivamente.
e uma dica: em Java o char pode ser tratado como um número e para as letras do ASCII ele representa o próprio código ASCII. Na realidade o char é um número, somente algumas operações como a transformação em String e o println é que o consideram uma letra. Exemplos:
no seu caso especificamente não é necessário fazer o segundo laço para procurar a letra, o índice para "Letras" pode ser calculado:
_________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
Eu acho que você não entendeu.
O que quero fazer e com que o usuário informe uma palavra qualquer então o programa separa esta palavra em um array de char onde o programa lê a letra que esta neste array e a troca pela próxima letra, na segunda leitura ele faz o mesmo porém agora ele troca a letra não pela próxima mas pela segunda letra na fila.
Ex:
informei a palavra "oi";
o programa separa em um array char 'o' e 'i', no caso;
o programa devera ler a letra 'o' e troca-la pela letra 'p';
depois ele lê a letra 'i' só que agora ele não a troca pelo 'j' e sim pelo 'k';
apos isso ele junta tudo e informa a palavra final ao usuário, ou seja, "pk";
Entendeu?, só que dai me apareceu este errinho ai que ta me incomodando. _________________Atenciosamente:
liuzp
"A mente que se abre para uma nova ideia, jamais voltará ao seu tamanho original" Albert Einstein
Eu acho que você não entendeu.
O que quero fazer e com que o usuário informe uma palavra qualquer então o programa separa esta palavra em um array de char onde o programa lê a letra que esta neste array e a troca pela próxima letra, na segunda leitura ele faz o mesmo porém agora ele troca a letra não pela próxima mas pela segunda letra na fila.
Ex:
informei a palavra "oi";
o programa separa em um array char 'o' e 'i', no caso;
o programa devera ler a letra 'o' e troca-la pela letra 'p';
depois ele lê a letra 'i' só que agora ele não a troca pelo 'j' e sim pelo 'k';
apos isso ele junta tudo e informa a palavra final ao usuário, ou seja, "pk";
Entendeu?, só que dai me apareceu este errinho ai que ta me incomodando.
EU entendi exatamente isso sim!
Parece que você não entendeu o que eu escrevi... [:-|
Usando o seu exemplo (é claro que se faz com um laço)
mas essa parte de usar char como número foi apenas uma dica,
leu o link que passei com a explicação sobre o errinho? ou postei à toa? [:-(
_________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
ArrayOutOfBones é um dos erros mais classicos do java, vc esta estourando o limite do seu array/list/qualquer lista.. vc esta chamando algo q não existe.. _________________"Se vc não souber orientar objeto,herança,polimorfismo e fazer uma tela a unha,sem arrastar botão vc não é JAVA!"
Nunca Será aspira, NUNCA!!!
Eu acho que você não entendeu.
O que quero fazer e com que o usuário informe uma palavra qualquer então o programa separa esta palavra em um array de char onde o programa lê a letra que esta neste array e a troca pela próxima letra, na segunda leitura ele faz o mesmo porém agora ele troca a letra não pela próxima mas pela segunda letra na fila.
Ex:
informei a palavra "oi";
o programa separa em um array char 'o' e 'i', no caso;
o programa devera ler a letra 'o' e troca-la pela letra 'p';
depois ele lê a letra 'i' só que agora ele não a troca pelo 'j' e sim pelo 'k';
apos isso ele junta tudo e informa a palavra final ao usuário, ou seja, "pk";
Entendeu?, só que dai me apareceu este errinho ai que ta me incomodando.
EU entendi exatamente isso sim!
Parece que você não entendeu o que eu escrevi... [:-|
Usando o seu exemplo (é claro que se faz com um laço)
mas essa parte de usar char como número foi apenas uma dica,
leu o link que passei com a explicação sobre o errinho? ou postei à toa? [:-(
sim, sim eu li o link e entendi exatamente o que o nosso colega postou após você, porém não vejo onde estourei o array e outra agora dei uma modifica no código uma vez que estava faltando algumas informações segue abaixo.
agora o erro é na linha 39, ou seja, , e o erro continua o mesmo, se para resolve-lo preciso usar números, você poderia simplificar um pouco melhor sua explicação simu? _________________Atenciosamente:
liuzp
"A mente que se abre para uma nova ideia, jamais voltará ao seu tamanho original" Albert Einstein
sim, sim eu li o link e entendi exatamente o que o nosso colega postou após você, porém não vejo onde estourei o array e outra agora dei uma modifica no código uma vez que estava faltando algumas informações segue abaixo.
agora o erro é na linha 39, ou seja, , e o erro continua o mesmo, se para resolve-lo preciso usar números, você poderia simplificar um pouco melhor sua explicação simu?
não ve onde estourou? A Exception indica em qual linha e qual o valor errado!
O erro anterior deve ter sido aqui:
pois o valor de 'n2' foi 4 (pela mensagem do erro) e 'b' tinha somente 4 posições, causado por:
o laço vai ser percorrido a última vez com "n = b.length". O correto seria:
igual você fez com os outros laços...
o link que eu passei, e você leu, tem exatamente esse erro como exemplo!!!
sekkuar
[...]
um ultimo erro, também comum demais é
O erro está em
i<=matriz.length
o correto é
i [...]
Bom, se agora o erro está na linha:
existem duas possibilidades: ou 'n' está fora do limite, ou 'n2 + cont'...
a mensagem da Exception provê o valor errado. Como a linha anterior acessa 'b[n]' sem gerar erro, obviamente 'n2 + cont' é o índice que causa o erro.
Pergunta: qual a letra que vem depois de 'Z', qual a segunda letra depois do 'Z',... ou a segunda depois de 'Y'?
Claro, você botou 52 letras no Array, mas se o texto de entrada tiver mais que 52 letras?
Solução: testar o novo índice e se for maior que o Array continuar do começo:
ou usando o operador módulo:
(nessa caso não é necessário repetir as letras em 'Letras'...) _________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
obrigado vou tentar fazer agora. Qualquer duvida a mais posto aqui. _________________Atenciosamente:
liuzp
"A mente que se abre para uma nova ideia, jamais voltará ao seu tamanho original" Albert Einstein
liuzpPosts:32
Olá a todos os leitores,
estou tentando fazer um criptografador o código já esta todo pronto, meu único problema é que ele dá um erro na linha 30, segue o código e o erro, respectivamente.
Erro:
_________________Atenciosamente:
liuzp
"A mente que se abre para uma nova ideia, jamais voltará ao seu tamanho original" Albert Einstein
simuPosts:9417