Java - Decir si un String es múltiplo de un numero

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado su posición en 15 puestos en Java (en relación al último mes)
Gráfica de Java

Decir si un String es múltiplo de un numero

Publicado por Gyanna (5 intervenciones) el 24/10/2019 21:38:39
Buenas,

Estoy haciendo un programa en el cual hay que poner 2 registros en un fichero binario, teniendo ambos el mismo nº de caracteres las cadenas: nombre apellido edad ciudad... debe comprobar cual es mayor de edad y ver si es múltiplo de 2, 3 y 5 y mi problema está en el método "comparaRegistro", no consigo sacar los múltiplos y no estoy segura si me hace bien la comparación

¿Me pueden ayudar, por favor?

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
 
public class CompararCadenas {
 
    public static void main(String[] args) throws IOException {
 
        File f = new File("misFicheros/registro2.dat");
 
        escribeRegistro(f, "Nombre1", "Apellido1", 20,  "Ciudad1");
        escribeRegistro(f, "Nombre2", "Apellido2", 30, "Ciudad2");
        leeRegistro(f);
        comparaRegistro(f);
    }
 
 
    private static void escribeRegistro(File file, String nombre, String apellido, int edad, String ciudad) throws IOException {
 
        RandomAccessFile raf = new RandomAccessFile(file, "rw");
 
        raf.seek(raf.length());
        raf.writeUTF(nombre);
        raf.writeUTF(apellido);
        raf.writeInt(edad);
        raf.writeUTF(ciudad);
 
    }
 
    private static void leeRegistro(File file) throws IOException {
 
        RandomAccessFile raf = new RandomAccessFile(file, "r");
        raf.seek(0);
 
        while (raf.getFilePointer()<raf.length()) {
 
            System.out.println(" " +raf.readUTF()+ " " +raf.readUTF()+ " " +raf.readInt()+ " "  +raf.readUTF());
 
        }
 
    }
 
    private static void comparaRegistro(File file) throws IOException {
 
        RandomAccessFile raf = new RandomAccessFile(file, "r");
 
        raf.seek(0);
        raf.skipBytes(30);
        int compara1=raf.readInt();
        System.out.println(compara1);
 
        raf.seek(30);
        raf.skipBytes(6);
        int compara2=raf.readInt();
        System.out.println(compara2);
        raf.close();
 
        if (compara1>compara2) {
 
            System.out.println(compara1+ " es mayor");
            raf.seek(0);
            raf.skipBytes(30);
 
            int multiplo=raf.readInt();
 
            if (multiplo %2 ==0) {
                System.out.println(multiplo+ " es multiplo de 2");
 
            }else if (multiplo %3 ==0) {
 
                System.out.println(multiplo+ " es multiplo de 3");
 
            }else if (multiplo %5 ==0) {
                System.out.println(multiplo+ " es multiplo de 5");
            }
 
        }else {
 
            System.out.println(compara1+ "es mayor");
            raf.seek(30);
            raf.skipBytes(6);
 
            int multiplo=raf.readInt();
 
            if (multiplo %2 ==0) {
                System.out.println(multiplo+ " es multiplo de 2");
 
            }else if (multiplo %3 ==0) {
 
                System.out.println(multiplo+ " es multiplo de 3");
 
            }else if (multiplo %5 ==0) {
                System.out.println(multiplo+ " es multiplo de 5");
 
            }
        }
 
    }
 
}
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