Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: classe Character»
De wikiserver
Línia 22: | Línia 22: | ||
int numAleatori = rnd.nextInt(995) + 5; | int numAleatori = rnd.nextInt(995) + 5; | ||
Scanner lector = new Scanner(System.in); | Scanner lector = new Scanner(System.in); | ||
+ | System.out.println("Introdueix la frase a codificar: "); | ||
String text = lector.nextLine(); | String text = lector.nextLine(); | ||
String textCodificat = ""; | String textCodificat = ""; | ||
+ | // Codificació | ||
for (int i = 0; i < text.length(); i++) { | for (int i = 0; i < text.length(); i++) { | ||
char caracter = text.charAt(i); | char caracter = text.charAt(i); | ||
Línia 30: | Línia 32: | ||
} | } | ||
System.out.println(textCodificat); | System.out.println(textCodificat); | ||
+ | |||
+ | //Decodificació | ||
+ | String textDecodificat = ""; | ||
+ | for (int i = 0; i < textCodificat.length(); i++) { | ||
+ | char caracter = textCodificat.charAt(i); | ||
+ | int codi = (int) caracter - numAleatori; | ||
+ | textDecodificat += (char) codi; | ||
+ | } | ||
+ | System.out.println(textDecodificat); | ||
+ | |||
} | } | ||
+ | |||
} | } | ||
</source> | </source> |
Revisió del 19:43, 16 nov 2020
1. Escriu un programa que codifiqui i descodifiquiuna frase. El procediment per a decodificar serà l'invers que el de codificar.
Per a codificar el text es segueix el següent algorisme:
- Generar un número aleatori entre 5 i 1000.
- Convertir cada caràcter (inclòs l'espai) al seu codi Unicode.
- Sumar-li a aquest codi el número aleatori.
- Obtenir el caràcter que representa aquest nou codi Unicode.
- Afegir aquest caràcter a la cadena resultant.
2. Escriure un programa, que donat un objecte de la classe String compti diferents tipus de caràcters. En particular, el mètode haurà d'imprimir el nombre de lletres, dígits i espais en blanc de la cadena. Per exemple la cadena: "Hola, sóc Carles Moreno, i dono classes des de 2010" donaria com a resultat:
- Lletres: 36
- Dígits: 4
- Espais en blanc: 9