Java - Descomponer un String y guardarlo en un Array Int

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

Descomponer un String y guardarlo en un Array Int

Publicado por Fernando (5 intervenciones) el 14/09/2018 00:05:20
Buenas tardes/noches, comunidad.

Estoy en un bache (para variar), el tema es el siguiente:
Estamos trabajando con JFrames, en el que ingreso el Nº de Documento de identidad, del que debemos verificar su último dígito mediante un cálculo individual, por lo que es necesario guardar cada dígito en una posición de un array Int para realizar los cálculos.
El tema es que logro guardar en un String la cadena ingresada en el txtField, pero no sé como pasar cada uno de los caracteres a int para guardarlo en el array Int.
Ejemplo: ingreso 16864052
array int
Indice Valor
0 1
1 6
2 8
3 6
4 4
5 0
6 5
7 2


Espero hacerme entender. Gracias.-
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 Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Descomponer un String y guardarlo en un Array Int

Publicado por Kabuto (1381 intervenciones) el 24/09/2018 21:31:04
Hola.
No se si quizás es tarde para responder, pero lo hago por si aún te sirve o bien sirve a otras personas con duda similar.

Una forma rápida y sencilla de hacer lo que necesites, es recorrer el String dentro de un bucle llamando al método .subString() para que nos vaya dando cada caracter en formato String. Al mismo tiempo, lo parseamos a int y lo guardamos en un array int.

Pongo un código de ejemplo. Como puedes ver, es muy sencillo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public final class Test {
 
	public static void main(String[] args) {
 
		String dni = "16864052";
		int[] digitos = new int[8];
 
		//Extraemos subcadenas y vamos parseando a int
		for (int i=0; i<8; i++) {
			digitos[i] = Integer.parseInt(dni.substring(i, i+1));
		}
 
		//Mostramos resultado obtenido
		for (int i=0; i<8; i++) {
			System.out.println(i + " : " + digitos[i]);
		}
 
 
	}
 
}
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