Java - necesito ayuda con 2 problemas de java cracks

 
Vista:

necesito ayuda con 2 problemas de java cracks

Publicado por Josue (3 intervenciones) el 21/03/2022 21:00:11
Ejercicio 4
Para cierta aplicación informática se necesitan codificar (cifrar) números enteros.
Elabore un ALGORITMO que solicite al usuario un número entero positivo de tres dígitos, el cual
necesita ser codificado. Considere que:
a) Si el dígito de dicho número es 2, 5 o 7, se le debe sumar la unidad.
b) Si el dígito es 1, 4, 8 o 9, se le resta la unidad.
c) Los dígitos restantes no se alteran.


Ejercicio 5
Escribir un programa para contar votaciones de un proceso electoral. Deberá obtener la lista de
candidatos y guardarlos en arreglos.
- Presentar un menú de opciones para seleccionar a un candidato.
- Mostrar el candidato ganador
- Mostrar un listado con el número de votos y porcentajes obtenidos.
No utilizar listas (ArrayList, Hashtable, Vector, ...)


Muchas gracias amigos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito ayuda con 2 problemas de java cracks

Publicado por Billy Joel (876 intervenciones) el 22/03/2022 18:47:16
Solución para el ejercicio 4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static Integer cifrar(Integer numero) {
    String cifrado = "";
    for (char c : numero.toString().toCharArray()) {
        int i = Integer.parseInt(String.valueOf(c));
        int ii;
        switch (i) {
            case 2:
            case 5:
            case 7:
                ii = i + 1;
                break;
            case 1:
            case 4:
            case 8:
            case 9:
                ii = i - 1;
                break;
            default:
                ii = i;
                break;
        }
        cifrado += ii;
    }
    return Integer.parseInt(cifrado);
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito ayuda con 2 problemas de java cracks

Publicado por Josue (3 intervenciones) el 23/03/2022 00:19:17
bro y hecho en un main class?
derrepente sabes como se hace el 5 tambien?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito ayuda con 2 problemas de java cracks

Publicado por Billy Joel (876 intervenciones) el 23/03/2022 17:57:35
Acá va la clase completa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Ejercicio4 {
 
    public static Integer cifrar(Integer numero) {
        String cifrado = "";
        for (char c : numero.toString().toCharArray()) {
            int i = Integer.parseInt(String.valueOf(c));
            int ii;
            switch (i) {
                case 2:
                case 5:
                case 7:
                    ii = i + 1;
                    break;
                case 1:
                case 4:
                case 8:
                case 9:
                    ii = i - 1;
                    break;
                default:
                    ii = i;
                    break;
            }
            cifrado += ii;
        }
        return Integer.parseInt(cifrado);
    }
 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Introduce un número positivo de tres dígitos: ");
        Integer n = Integer.parseInt(br.readLine());
        if (n > 0) {
            if (n.toString().length() == 3) {
                Integer c = cifrar(n);
                System.out.println("El número " + n + " cifrado es: " + c);
            } else {
                System.out.println("El número no tiene tres dígitos");
            }
        } else {
            System.out.println("El número no es positivo");
        }
    }
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito ayuda con 2 problemas de java cracks

Publicado por Billy Joel (876 intervenciones) el 23/03/2022 19:11:24
Ejercicio 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.math.RoundingMode;
 
public class Ejercicio5 {
 
    public static final int CANTIDAD_CANDIDATOS = 4;
 
    /**
     * Redondea una variable Double a 2 decimales
     *
     * @param val
     * @return
     */
    public static Double round2Decimals(Double val) {
        return new BigDecimal(val.toString()).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
    }
 
    public static void main(String[] args) throws IOException {
        String[] candidatos = new String[CANTIDAD_CANDIDATOS];
        int[] votos = new int[CANTIDAD_CANDIDATOS];
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Ingrese los datos de los " + CANTIDAD_CANDIDATOS + " candidatos");
        for (int i = 0; i < candidatos.length; i++) {
            System.out.print("Candidato #" + (i + 1) + ": ");
            candidatos[i] = br.readLine();
            votos[i] = 0;
        }
        int opcion;
        do {
            limpiar();
            for (int i = 0; i < candidatos.length; i++) {
                System.out.println("Introduce #" + (i + 1) + " para ingresar voto por el candidato " + candidatos[i]);
            }
            System.out.print("Introduce -1 para terminar el conteo: ");
            String line = br.readLine();
            if (line.isEmpty()) {
                opcion = CANTIDAD_CANDIDATOS + 1;
            } else {
                opcion = Integer.parseInt(line);
            }
            if (opcion <= -1) {
                System.out.println("SALIR!!");
            } else if (opcion < 1 || opcion > CANTIDAD_CANDIDATOS) {
                System.out.println("Opción incorrecta");
            } else {
                opcion--;
                votos[opcion]++;
                System.out.println("Voto para " + candidatos[opcion] + "\n");
                estadidsticas(candidatos, votos);
                System.out.print("Presiona enter para continuar...");
                br.readLine();
            }
        } while (opcion > -1);
        limpiar();
        System.out.println("A continuación el resultado final");
        estadidsticas(candidatos, votos);
    }
 
    public static void estadidsticas(String[] candidatos, int[] votos) {
        double votosTotal = 0.0;
        for (int i = 0; i < votos.length; i++) {
            votosTotal += votos[i];
        }
        for (int i = 0; i < candidatos.length; i++) {
            System.out.println(candidatos[i] + "\t" + votos[i] + "\t" + round2Decimals(votos[i] / votosTotal * 100));
        }
    }
 
    public static void limpiar() {
        for (int i = 0; i < 50; i++) {
            System.out.println();
        }
    }
}

Agradecería un like

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar