Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
¿Es posible usar un valor de matriz como valor de caso de cambio?

Estoy tratando de crear un código Java que funcione. Creé una función de encriptación que toma cualquier símbolo en una cadena y lo reemplaza con un valor de una matriz.

El problema es muy simple. La función de descifrado debe tomar cualquier valor escrito en una matriz y usarlo para descifrar. El código lo describe mejor que yo.

 case "1" -> output += n_encryptions[0]; // Then in decrypt(): case n_encryptions[0] -> output += "1"; // Sadly, this creates an error

Mi objetivo es crear un sistema de cifrado y descifrado fácilmente modificable, ya que planeo cambiar estos valores en el futuro.

Necesito una forma de usar un valor de matriz (n_encryptions[0] en el ejemplo) como parámetro de caso.

Editar: supongo que una declaración if es la mejor opción. ¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

¿Es posible usar un valor de matriz como valor de caso de cambio?

No, no es.

Las etiquetas de cambio (a la derecha de la palabra case ) deben ser expresiones constantes en tiempo de compilación.

Necesito una forma de usar un valor de matriz (n_encryptions[0] en el ejemplo) como parámetro de caso.

¿Por qué necesitas esto? Seguramente se puede expresar de otra forma, por ejemplo usando if .

over 4 years ago · Santiago Trujillo Relatório

0

AFAIU tu problema, un enfoque habitual para esto es tener 2 matrices

 char[] from = {'a','b','c'}; char[] to = {'1','e','@'};

Lea su entrada carácter por carácter, busque la posición del carácter from y reemplácelo con el carácter desde la misma posición to .

Inversa, lo mismo (hasta -> desde).

over 4 years ago · Santiago Trujillo Relatório

0

Sólo estoy sugiriendo una forma de resolver el problema. Puede usar un Map<Character, Character> para el cifrado y otro para el descifrado. Puede adaptar el siguiente programa a sus necesidades.

 import java.util.HashMap; import java.util.Map; public class Test { public static void main (String[] args) { Map<Character, Character> encryptionMap = new HashMap<>(); encryptionMap.put('a', '-'); encryptionMap.put('b', '+'); encryptionMap.put('-', '1'); encryptionMap.put('+', '3'); String plainText = "a+ba"; String encryptedText = ""; for (int i = 0; i < plainText.length(); i++) { char ch = plainText.charAt(i); encryptedText += encryptionMap.get(ch); } System.out.println("Plain Text: " + plainText); System.out.println("Encrypted Text: " + encryptedText); Map<Character, Character> decryptionMap = new HashMap<>(); decryptionMap.put('-', 'a'); decryptionMap.put('+', 'b'); decryptionMap.put('1', '-'); decryptionMap.put('3', '+'); String decryptedText = ""; for (int i = 0; i < encryptedText.length(); i++) { char ch = encryptedText.charAt(i); decryptedText += decryptionMap.get(ch); } System.out.println("Decrypted Text: " + decryptedText); } }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda