Como hacer una matriz caracol (no cuadrada)
Publicado por Francisco (10 intervenciones) el 19/02/2020 02:30:11
Tengo el siguiente programa: pido a un usuario que ingrese una fecha y hora con el formato dd/mm/yyyy y la hora HH:MM:SS los números que forman a la fecha y a la hora los guardo en un arreglo y después transformo cada numero en un binario de 4 dígitos usando un .toBinaryString dándome como resultado un cadena de 56 dígitos lo que a continuación quiero hacer es meter esa cadena de 56 dígitos en una matriz caracol de 7 columnas por 8 renglones (7*8) la verdad no tengo conocimientos de como hacer una matriz caracol que no sea cuadrada y tampoco conozco como meter una cadena a la matriz este es el código que llevo al momento:
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
public class Fecha {
public static void main(String[] args) {
String f_h;
String fecha_hora;
fecha_hora = JOptionPane.showInputDialog(null, "Ingrese la fecha dd/mm/aa y la hora");
f_h = fecha_hora.replaceAll("/|\\s|:", "");
int[] digitos = new int[14];
String cad;
int ent;
String binario;
char[] caracteres = f_h.toCharArray();
for (int i = 0; i < caracteres.length; i++) {
cad = Character.toString(caracteres[i]);
ent = Integer.parseInt(cad);
digitos[i] = ent;
}
for (int i = 0; i < digitos.length; i++) {
System.out.print(digitos[i]);
}
System.out.println("");
for (int i = 0; i < digitos.length; i++) {
binario = Integer.toBinaryString(digitos[i]);
if (digitos[i] <= 1) {
System.out.print("000" + binario);
} else if ((digitos[i] > 1)&&(digitos[i]<4)) {
System.out.print("00" + binario);
}else if((digitos[i] >=4)&&((digitos[i] <8))){
System.out.print("0" + binario);
}else if(digitos[i]>=8){
System.out.print(binario);
}
}
}
}
Valora esta pregunta


0