Hola, como están? disculpen tengo un problema, lo explico:
En primer lugar, estaba almacenando en un ArrayList <Interger> numeros de resultados de operaciones, pero estos numeros eran bastantes grandes, entonces decidi cambiar a un ArrayList <<Double>>... hasta aqui no hay problema, pero antes, a los numeros del <Interger> les asignaba una letra segun su valor, pero ahora ya no puedo, dice que requiere int,pero si utilizon "int", en las operaciones se presenta error,e intentado todo, en vano, ayudenme porfavor... dejo aki el codigo:
// INGRESA MENSAJE CODIFICADO
String mensaje= JOptionPane.showInputDialog( null,"\n Ingrese el mensaje a desencriptar: \n " , "CRIPTOGRAFIA",JOptionPane.WARNING_MESSAGE); String cad = mensaje.toLowerCase();
// METODO DE ENCRIPTADO
ArrayList<Double> t = new ArrayList<Double>(); String g = ""; for (int i = 0; i < cad.length(); ++i) { char ch = cad.charAt(i); double n = (double) ch - (double) 'a' + 1;
for (double n : t) { if (n < 27){ if ( n == 0){n = 29;} g += valores[n - 1];} }
Mi error se presenta a lo que al string G, intento sumarle el resultado de la conversion de los numeros alamcenados a letras...espero me puedan ayudar gracias
Hola, como están? disculpen tengo un problema, lo explico:
En primer lugar, estaba almacenando en un ArrayList <Interger> numeros de resultados de operaciones, pero estos numeros eran bastantes grandes, entonces decidi cambiar a un ArrayList <<Double>>... hasta aqui no hay problema, pero antes, a los numeros del <Interger> les asignaba una letra segun su valor, pero ahora ya no puedo, dice que requiere int,pero si utilizon "int", en las operaciones se presenta error,e intentado todo, en vano, ayudenme porfavor... dejo aki el codigo:
// INGRESA MENSAJE CODIFICADO
String mensaje= JOptionPane.showInputDialog( null,"\n Ingrese el mensaje a desencriptar: \n " ,
"CRIPTOGRAFIA",JOptionPane.WARNING_MESSAGE);
String cad = mensaje.toLowerCase();
// METODO DE ENCRIPTADO
ArrayList<Double> t = new ArrayList<Double>();
String g = "";
for (int i = 0; i < cad.length(); ++i) {
char ch = cad.charAt(i);
double n = (double) ch - (double) 'a' + 1;
if (n == -64){n = 0;}
System.out.println(n);
if (n != -64)
{n = (double) Math.pow(n, 17);
n = (double) n%29;}
if (n>14|n==0){
t.add(n);}
else {t.add(n-1);}
}
char[] valores = { 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'ñ', 'o', 'p', 'q',
'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', 'z', ' '};
for (double n : t) {
if (n < 27){
if ( n == 0){n = 29;}
g += valores[n - 1];}
}
Mi error se presenta a lo que al string G, intento sumarle el resultado de la conversion de los numeros alamcenados a letras...espero me puedan ayudar gracias