Coooonsegui!

ta, vocês vao me achar o cara mais besta da terra, mas consegui fazer meu primeiro codigo… quer dizer… peguei um feito e modifiquei, mas consegui deixar como eu imaginava… ou melhor… quase… rss…

segue ele ai em baixo… e logo depois me ajudem a fazer o que realmente quero

[code]
import javax.swing.JOptionPane;
public class Cripitografa {
public static void main( String[] args ) {

  String entrada; 

  int x ; 
  int digito1; 
  int digito2; 
  int digito3; 
  int digito4; 

  entrada = JOptionPane.showInputDialog( " ! Digite o numero de 4 digitos a ser criptografado ! " ); 
  x = Integer.parseInt( entrada ); 

  digito1 =  ( x + 1 ) ; 
  digito2 =  ( x + 1 ) ; 
  digito3 =  ( x + 1 ) ; 
  digito4 =  ( x + 1 ) ; 


  JOptionPane.showMessageDialog( null, 
    " Número cripitografado = " + digito3 + digito4 + digito1 + digito2, " ! Número Original ! " + x , 
    JOptionPane.INFORMATION_MESSAGE ); 
  System.exit( 0 ); 

}
} [/code]

Ta… ele pega o numero inteiro e soma… porem… eu gostaria que ele pegasse apenas um numero e somasse… exemplo

tenho o numero 1212

queria que criptografado ficasse 2323… nao pegasse o numero inteiro, e sim quebrasse numero por numero e assim somasse cada um…

e ele ta ficando 1213121312131213

mas to quase consgeuindo…

agora… como faço para nao especificar a quantidade de numero… por exeplo… tenho uma serie com 125 numero e quero criptografar… ou eu poderia ter 100 ou só 10… deixar o string em aberto para receber quanto numeros eu quisesse (acho que falei certo… rs)

valew pessoal!

eh asim q começa!!

O mais facil a fazer é o seguinte onde tá

digito1 = ( x + 1 ) ;
digito2 = ( x + 1 ) ;
digito3 = ( x + 1 ) ;
digito4 = ( x + 1 ) ;

faz

digito1 = ( x + 1111 ) ;
digito2 = ( x + 1111 ) ;
digito3 = ( x + 1111 ) ;
digito4 = ( x + 1111 ) ;

Assim eu sei que funciona,
Blz

[quote=“henamaral”]O mais facil a fazer é o seguinte onde tá

digito1 = ( x + 1 ) ;
digito2 = ( x + 1 ) ;
digito3 = ( x + 1 ) ;
digito4 = ( x + 1 ) ;

faz

digito1 = ( x + 1111 ) ;
digito2 = ( x + 1111 ) ;
digito3 = ( x + 1111 ) ;
digito4 = ( x + 1111 ) ;

Assim eu sei que funciona,
Blz[/quote]

realmente… isso eu consegui… hahaha acho que eh o unico jeito…

agora… alguem sabe como transformar letras em valores???

tipo… eu cripitografar a palavra JAVA… ela ficar sei lah… LDLD

esse codigo abaixo faz o que voce descreveu:

int numero = 1212;// o numero que voce quer criptografar
		int util = numero;
		String numeroTemp = Integer.toString(numero);
		int[] temp = new int[numeroTemp.length()];
		String criptografado = " Número cripitografado = ";
		for(int i = numeroTemp.length() - 1, j = 0;
			i >= 0;
			i--, j++) 
		{
			int divisor = (int) Math.pow(10.0, i);
			temp[j] = util / divisor;
			util %= divisor;
			
			temp[j]++; 
			/*nao entendi bem seu algoritmo de criptografia, mas isso faz
			o equivalente a digito1 =  ( x + 1 ) ;, incrementa o digito em 1 unidade,
			sem modularizar, ou seja, se o digito for 9, nao vai pra 0, vai pra 10*/
			
			criptografado += ("" + temp[j]);
		}

espero ter ajudado

Com relação as letras, tu pode transformar a String em um Array de char, transforma o char em número, criptografa, depois transforma de voltar pra char e concatena!

cara, vc me entendeu perfeitamente… porem… sou novo… calma… como transformo a string em awway de char?

valew pela ajuda pessoal!

É o seguinte:

//Transforma em um array de char
String s = "Criptografia";
char[] caracteres = s.toCharArray();

/*
Nessa parte tu faz a rotina de criptografia.
Tu pode usar o char como se fosse um inteiro, porque ele convertido automaticamente.

Exemplo:
*/
int valor = 0;
char novoChar = '';
String strCriptografado = "";
for(int i = 0; i < caracteres.length; i++)
{
    valor = caracteres[i];
    //Criptografar "valor"
    novoChar = (char)valor; //Aqui o novoChar vai receber o valor criptografado
    strCriptografado += novoChar; //Concatena os "novoChar"
}

Mais ou menos isso ai… espero que ajude.