[quote=“LeoFicz”]Ae ruy … vo salva sua vida ok ? O javaAdicted posto um código antes que criptografava e descriptografava a paradinha … eu dei uma enxugada naquele e botei só pra criptografa … da um bizu …
O que eu fiz foi colocar um -11 alih onde diz int crip bla bla bla … da funcionando certinho esse ( só 1 duvida … ele pega as letras do texto q o cara colocou e soma com as letras da chave né ? tipo problema como texto e chave como chave ele pega o p e soma com o c … suponhamos q p é 10 e c é 5 da 15 e ele mostra a letra correspondente a posiçao 15 … é isso ? ) Se quiser coloco o de cesar tbem … sem if sem nada ae pra dar uma ajuda …
Oi Marcela … tudo bom ? É a dúvida que eu tinha era isso mesmo … saber o que era o void … então ve se ta certo por favor :
o public cria a função
e o void diz que essa função não retorna nada
( acho q não é bem isso não ) é que to me baseando em javascript, asp essas coisas … que pra criar uma função vc faz function nome_da_função. É por aí ou passei longe ???
Ah … outra coisinha provavelmente rapida ( agora vai começar aparecer duvida q não acaba mais ). O sinal % alih no meio do código o javaAdicted comentou dizendo que era o resto da divisão de algo por algo … como é isso ? Se der um desenho ou algo assim vai funcionar melhor que não sou muito esperto não uhauahuhauha …
Brigado.
[code]
import javax.swing.JOptionPane;
public class Main {
public static void main( String[] args ){
//palavra que sera encriptada
String texto;
//palavra chave, que sera menor que a palavra acima
String chave;
//resultado da encriptacao
String textoCrip = "";
//recebe a palavra a ser encriptada
texto = JOptionPane.showInputDialog("ATENÇÃO : Para digitar seu texto, utilize" +
" apenas caracteres minusculos e sem acento :");
//recebe a palavra-chave
chave = JOptionPane.showInputDialog("ATENÇÃO : Para digitar sua chave, utilize" +
" apenas caracteres minusculos e sem acento :");
//este laço vai percorrer toda a palavra passada
for(int i = 0; i < texto.length(); i++) {
//a representacao em ascii de um caractere da palavra
int charTexto = texto.charAt(i);
/*a representacao em ascii do caractere da palavra chave equivalente ao caractere acima, como essa palavra pode ser menor que a palavra principal, o indice do caractere é modularizado, para que não haja StringIndexOutOfBounds. o operador "%" retorna o resto da divisao do primeiro pelo segundo operando*/
int charChave = chave.charAt(i % chave.length());
/*a soma dos caracteres acima, acredito que é isso que voce quer, e agora esta modularizada para conter apenas letras do alfabeto minusculo*/
int crip = 97 + ((charTexto + charChave) - 11 ) % 26;
//o resultado acima é concateado à String resultante
textoCrip += (char) crip;
}
//aqui é mostrada a string com a palavra criptografada
JOptionPane.showMessageDialog(null, textoCrip, "Texto Criptografado", JOptionPane.PLAIN_MESSAGE);
}
}
[/code][/quote]
iae Leo… é o seguinte… to a 3 semana aki fazendo do zero… e nao entendendo qse nada… uhahuahuhua ai peguei e montei akele codigo que postei aki… ele ta clean demais… mto simples, e rodando direito (porem com alguns erros… mas o bixa do Ricardo nem vai falar nada…)
quanto a sua pergunta… sim… ele transforma os caracteres do texto e da chave para ASCII (valores), e soma… porem… como A vale 97 e Z vale 122 qndo vc somar vai dar um ASCII inexistente… ai tem q fazer uma conta para trazer ele para entre A e Z… o javaadnumseioq coloco uma conta que nao entendi… a minha conta ta certa… mas nao ta fazendo o looping… nao sei pq… mas ta dando certinho… nem tentei o dele…
qto a de cezar… fiz em 2 minutos… ta aki o codigo caso interesse!
[code]import javax.swing.JOptionPane;
public class mais{
public static void main( String[] args ){
String palavra;
String resultado = "";
palavra = JOptionPane.showInputDialog("Insira seu texto!");
for(int i = 0; i < palavra.length(); i++) {
int charPalavra = palavra.charAt(i);
int temp = charPalavra + 3;
if ( result >= 123){
result = ( result - 122 + 97 );
}
resultado += (char) result;
}
JOptionPane.showMessageDialog(null, resultado);
}
}[/code]
quanto a sua pergunta sobre o void… eh realmente isso… zoia ai…
public - Cada programa Java consiste em pelo menos uma definição de classe que é definida pelo programador, no caso, você. Essas classes são conhecidas como classes definidas pelos programador ou classes definidas pelo usuário.
A palavra chave void indica que esse método realizará uma
tarefa, mas não retornará nenhuma informação.
tirei de um tutorial… tb nao entendi mto bem… mas enfim…