"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.
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);
}
}
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!
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);
}
}
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...