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

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado su posición en 2 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