Java - Programa que de el CURP

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

Programa que de el CURP

Publicado por Kevin (6 intervenciones) el 05/10/2020 15:53:35
Buen dia a todos, necesito ayuda con mi código, para la generación del CURP ya lo tengo casi todo, pero tengo un error para poder determinar los digitos de el estado
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
import java.util.Scanner;
 
public class CURP {
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
 
		System.out.println("Nombre(s): ");
		String nombre = scanner.nextLine();
 
		System.out.println("Primer Apellido: ");
		String ape1 = scanner.nextLine();
 
		System.out.println("Segundo Apellido: ");
		String ape2 = scanner.nextLine();
 
		System.out.println("Dia de nacimiento (en dos caracteres): ");
		String dia = scanner.nextLine();
 
		System.out.println("Mes de nacimiento (en dos caracteres): ");
 		String mes = scanner.nextLine();
 
 		System.out.println("Anio de nacimiento (en cuatro caracteres): ");
		String anio = scanner.nextLine();
 
		System.out.println("Sexo (Mujer/Hombre): ");
		String sexo = scanner.nextLine();
 
		System.out.println("Estado de la Republica Mexicana en que nacio (sin espacios): ");
		String entidad = scanner.nextLine();
 
		System.out.println("\nTu nombre es: "+nombre);
		System.out.println("Tu Primer apellido es: "+ape1);
		System.out.println("Tu Segundo apellido es: "+ape2);
		System.out.println("Tu Dia de nacimiento es: "+dia);
		System.out.println("Tu Mes de nacimiento es: "+mes);
		System.out.println("Tu Anio de nacimiento es: "+anio);
		System.out.println("Tu Sexo es: "+sexo);
		System.out.println("Tu Entidad de nacimiento es: "+entidad);
 
		System.out.println("Tu CURP es: ");
		String c1Y2 = ape1.substring(1,2);
		char c3 = ape2.charAt(1);
        char c4 = nombre. charAt(1);
        String c5Y6 = anio.substring(3,4);
        String c7Y8 = mes;
        String c9Y10 = dia;
        char c11 = sexo.charAt(1);
        char c14 = ape1.charAt(3);
        char c15 = ape2.charAt(3);
        char c16 = nombre.charAt(3);
        String c12Y13;
        if (entidad=="Aguascalientes");{
        	c12Y13 = "AS";
        }
        elseif (entidad=="BajaCalifornia");{
        	c12Y13 = "BC";
        }
        elseif (entidad=="BajaCaliforniaSur");{
        	c12Y13 = "BS";
        }
        elseif (entidad=="Campeche");{
        	c12Y13 = "CC";
        }
        elseif (entidad=="Coahuila");{
        	c12Y13 = "CL";
        }
        elseif (entidad=="Colima");{
        	c12Y13 = "CM";
        }
        elseif (entidad=="Chiapas");{
        	c12Y13 = "CS";
        }
        elseif (entidad=="Chihuahua");{
        	c12Y13 = "CH";
        }
        elseif (entidad=="DistritoFederal");{
        	c12Y13 = "DF";
        }
        elseif (entidad=="Durango");{
        	c12Y13 = "DG";
        }
        elseif (entidad=="Guanajuato");{
        	c12Y13 = "GT";
        }
        elseif (entidad=="Guerrero");{
        	c12Y13 = "GR";
        }
        elseif (entidad=="Hidalgo");{
        	c12Y13 = "HG";
        }
        elseif (entidad=="Jalisco");{
        	c12Y13 = "JC";
        }
        elseif (entidad=="Mexico");{
        	c12Y13 = "MC";
        }
        elseif (entidad=="Michoacan");{
        	c12Y13 = "MN";
        }
        elseif (entidad=="Morelos");{
        	c12Y13 = "MS";
        }
        elseif (entidad=="Nayarit");{
        	c12Y13 = "NT";
        }
		elseif (entidad=="NuevoLeon");{
        	c12Y13 = "NL";
        }
      	elseif (entidad=="Oaxaca");{
        	c12Y13 = "OC";
        }
        elseif (entidad=="Puebla");{
        	c12Y13 = "PL";
        }
       	elseif (entidad=="Queretaro");{
        	c12Y13 = "QT";
        }
        elseif (entidad=="QuintanaRoo");{
        	c12Y13 = "QR";
        }
        elseif (entidad=="SanLuisPotosi");{
        	c12Y13 = "SP";
        }
        elseif (entidad=="Sinaloa");{
        	c12Y13 = "SL";
        }
        elseif (entidad=="Sonora");{
        	c12Y13 = "SR";
        }
        elseif (entidad=="Tabasco");{
        	c12Y13 = "TC";
        }
        elseif (entidad=="Tamaulipas");{
        	c12Y13 = "TS";
        }
        elseif (entidad=="Tlaxcala");{
        	c12Y13 = "TL";
        }
        elseif (entidad=="Veracruz");{
        	c12Y13 = "VZ";
        }
        elseif (entidad=="Yucatan");{
        	c12Y13 = "YN";
        }
        elseif (entidad=="Zacatecas");{
        	c12Y13 = "ZS";
        }
        elseif(entidad=="NacidoEnElExtranjero");{
            c12Y13 = "NE";
        }
        else{
        c12Y13 = "NE";
        }
        break;
    }
}
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 Rodrigo
Val: 1.977
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Rodrigo (529 intervenciones) el 05/10/2020 17:33:02
No tengo idea si esto es tu error, porque solo dices que tienes un error, pero no dices cual, asi que sugiero que indiques cual es el error que ves para no tener que adivinar.

Es posible que sea esto:

Cuando comparas Strings, tienes que usar equals no ==

osea

1
if( miString == "blabla" )

se tiene que hacer

1
if( miString.equals("blabla") )

y tambien, para evitar el caso que miString sea null, se puede hacer la comparacion al reves

1
if( "blabla".equals(miString) )

4 posibles otros problemas que veo:

- Hay un break, pero no parece haber ciclo o switch.
- No imprimes nada despues del ultimo print, supongo que quieres escribir alguna de las variables que calculaste?
- Elimina el ; en los ifs

Tu escribes

1
2
3
if( condicion ) ; {   // <-- ese ;
 ...
}
escribelos asi:

1
2
3
if( condicion )  {   // <-- ese ;
 ...
}

- No existe elseif, separalo y que quede else if

Te sugiero que veas que' mensaje indica el compilador o el editor que usas para cada uno de estos casos para que tambien aprendas a ver las ayudas que este te da para que identifiques errores en el futuro.
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
sin imagen de perfil
Val: 17
Ha disminuido su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Kevin (6 intervenciones) el 05/10/2020 18:56:52
Gracias, ya he realzado los cambios que me comento, pero ahora al correr el codigo me sale error, dice que la variable que utilizo para los if's no ha sido iniciada, sale lo siguiente

CURP.java:153: error: variable c12Y13 might not have been initialized
System.out.println(c1Y2+c3+c4+c5Y6+c7Y8+c9Y10+c11+c12Y13+c14+c15+c16);
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 Rodrigo
Val: 1.977
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Rodrigo (529 intervenciones) el 05/10/2020 19:04:42
Asignae algun valor antes de la secuencia de if

Publica el programa. Es mas facil ayudar asi
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
sin imagen de perfil
Val: 17
Ha disminuido su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Kevin (6 intervenciones) el 05/10/2020 20:27:01
Resolvi lo anterior, pero ahora no me genera correctamente el CURP


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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
import java.util.Scanner;
 
public class CURP {
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
 
		System.out.println("Nombre(s): ");
		String nombre = scanner.nextLine();
 
		System.out.println("Primer Apellido: ");
		String ape1 = scanner.nextLine();
 
		System.out.println("Segundo Apellido: ");
		String ape2 = scanner.nextLine();
 
		System.out.println("Dia de nacimiento (en dos caracteres): ");
		String dia = scanner.nextLine();
 
		System.out.println("Mes de nacimiento (en dos caracteres): ");
 		String mes = scanner.nextLine();
 
 		System.out.println("Anio de nacimiento (en cuatro caracteres): ");
		String anio = scanner.nextLine();
 
		System.out.println("Sexo (Mujer/Hombre): ");
		String sexo = scanner.nextLine();
 
		System.out.println("Estado de la Republica Mexicana en que nacio (sin espacios): ");
		String entidad = scanner.nextLine();
 
		System.out.println("\nTu nombre es: "+nombre);
		System.out.println("Tu Primer apellido es: "+ape1);
		System.out.println("Tu Segundo apellido es: "+ape2);
		System.out.println("Tu Dia de nacimiento es: "+dia);
		System.out.println("Tu Mes de nacimiento es: "+mes);
		System.out.println("Tu Anio de nacimiento es: "+anio);
		System.out.println("Tu Sexo es: "+sexo);
		System.out.println("Tu Entidad de nacimiento es: "+entidad);
 
		String c1Y2 = ape1.substring(0,1);
		char c3 = ape2.charAt(0);
        char c4 = nombre. charAt(0);
        String c5Y6 = anio.substring(3,4);
        String c7Y8 = mes;
        String c9Y10 = dia;
        char c11 = sexo.charAt(0);
        char c14 = ape1.charAt(2);
        char c15 = ape2.charAt(2);
        char c16 = nombre.charAt(2);
        String c12Y13 = "ho";
 
        if (entidad.equals("Aguascalientes")){
        	c12Y13 = "AS";
        }
        else if (entidad.equals("BajaCalifornia")){
        	c12Y13 = "BC";
        }
        else if (entidad.equals("BajaCaliforniaSur")){
        	c12Y13 = "BS";
        }
        else if (entidad.equals("Campeche")){
        	c12Y13 = "CC";
        }
        else if (entidad.equals("Coahuila")){
        	c12Y13 = "CL";
        }
        else if (entidad.equals("Colima")){
        	c12Y13 = "CM";
        }
        else if (entidad.equals("Chiapas")){
        	c12Y13 = "CS";
        }
        else if (entidad.equals("Chihuahua")){
        	c12Y13 = "CH";
        }
        else if (entidad.equals("DistritoFederal")){
        	c12Y13 = "DF";
        }
        else if (entidad.equals("Durango")){
        	c12Y13 = "DG";
        }
        else if (entidad.equals("Guanajuato")){
        	c12Y13 = "GT";
        }
        else if (entidad.equals("Guerrero")){
        	c12Y13 = "GR";
        }
        else if (entidad.equals("Hidalgo")){
        	c12Y13 = "HG";
        }
        else if (entidad.equals("Jalisco")){
        	c12Y13 = "JC";
        }
        else if (entidad.equals("Mexico")){
        	c12Y13 = "MC";
        }
        else if (entidad.equals("Michoacan")){
        	c12Y13 = "MN";
        }
        else if (entidad.equals("Morelos")){
        	c12Y13 = "MS";
        }
        else if (entidad.equals("Nayarit")){
        	c12Y13 = "NT";
        }
		else if (entidad.equals("NuevoLeon")){
        	c12Y13 = "NL";
        }
      	else if (entidad.equals("Oaxaca")){
        	c12Y13 = "OC";
        }
        else if (entidad.equals("Puebla")){
        	c12Y13 = "PL";
        }
       	else if (entidad.equals("Queretaro")){
        	c12Y13 = "QT";
        }
        else if (entidad.equals("QuintanaRoo")){
        	c12Y13 = "QR";
        }
        else if (entidad.equals("SanLuisPotosi")){
        	c12Y13 = "SP";
        }
        else if (entidad.equals("Sinaloa")){
        	c12Y13 = "SL";
        }
        else if (entidad.equals("Sonora")){
        	c12Y13 = "SR";
        }
        else if (entidad.equals("Tabasco")){
        	c12Y13 = "TC";
        }
        else if (entidad.equals("Tamaulipas")){
        	c12Y13 = "TS";
        }
        else if (entidad.equals("Tlaxcala")){
        	c12Y13 = "TL";
        }
        else if (entidad.equals("Veracruz")){
        	c12Y13 = "VZ";
        }
        else if (entidad.equals("Yucatan")){
        	c12Y13 = "YN";
        }
        else if (entidad.equals("Zacatecas")){
        	c12Y13 = "ZS";
        }
        else if(entidad.equals("NacidoEnElExtranjero")){
            c12Y13 = "NE";
        }
        System.out.println("Tu CURP es: ");
        System.out.println(c1Y2+c3+c4+c5Y6+c7Y8+c9Y10+c11+c12Y13+c14+c15+c16);
 
    }
}
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 Rodrigo
Val: 1.977
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Rodrigo (529 intervenciones) el 05/10/2020 21:27:34
De nuevo, decir que algo no funciona no dice nada al lector como yo que no sabe que es lo que no funciona.
Que es lo que ves? Que es lo que esperas ver?
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
sin imagen de perfil
Val: 17
Ha disminuido su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Kevin (6 intervenciones) el 05/10/2020 21:38:48
Disculpe la molestia, ya he resuelto el problema, muchas gracias por su ayuda
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 Rodrigo
Val: 1.977
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Rodrigo (529 intervenciones) el 05/10/2020 22:30:20
y ... cual era el problema?
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 Sandro
Val: 454
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Sandro (160 intervenciones) el 06/10/2020 04:01:09
la generación del curp en solo de mexico, las siglas son las siguientes

primera y segunda letra del apellido paterno
primera letra del apellido materno
primera letra del nombre
año de nacimiento en dos dígitos
numero de mes en dos siglas 01-12
el numero del día en dos siglas 01-31
h hombre y m mujer
dos siglas del estado en la tabla que se esta definiendo


con las ultimas tres siglas que es consecutivo en base a que no lo se, pero no creo que haya forma de generarlo en forma de un programa, por que esas siglas las pone el mismo gobierno

Por medio de programa aquí en mexico si se puede generar el rfc, pero también se le agrego una homoclave, que esa la da el gobierno de tres digitos
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
sin imagen de perfil
Val: 138
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Cesar (46 intervenciones) el 06/10/2020 16:53:45
Hola.

Perdon que te contradiga Sandro, pero si se pueden crear programas que generen el RFC con todo y homoclave, y el CURP con todo y los ulimos 5 caracteres y digitos finales. Yo he creado programa en C#, que calcula el RFC con todo y homoclave.

Ambas identificaciones, emplean algoritmos, hasta cierto punto "publicos", que proporcionan las entidades encargadas de ello (en el caso del RFC, puedes solicitar el algoritmo al SAT).

Aqui les dejo 2 programas, con los que pueden calcular RFC y CURP, con todos los caracteres del mismo.

http://www.aplicarh.com/Descargas/utlfree/CalcRFC.exe

http://www.aplicarh.com/Descargas/utlfree/CalcCURP.exe

Nota, esos programas yo no los hice, y solo funcionan bien en Windows de 32 bits.

De igual forma, les comparto un enlace, de un programa (no se en que lenguaje este hecho), para obtener los mismos:

http://www.forosdelweb.com/f13/les-dejo-codigo-para-calcular-curp-rfc-750346/
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 Sandro
Val: 454
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Sandro (160 intervenciones) el 07/10/2020 16:50:22
no sabia que habia forma de gerarlo fuera del gobierno, y el programa esta hecho en javascript
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 Sandro
Val: 454
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Programa que de el CURP

Publicado por Sandro (160 intervenciones) el 07/10/2020 20:59:08
ya lo averigüe todo lo de la generación del curp para mexico

1,- primera y segunda siglas son del apellido paterno MA
2.- primera sigla del apellido materno F
3.- primera sigla del nombre S
4.- numero del año de nacimiento en dos dígitos 63
5.- numero de mes de nacimiento en dos dígitos 09
6.- numero de dia de nacimiento en dos dígitos 18
7.- hombre o mujer H o M H
8.- entidad de nacimiento de acuerdo a la tabla generada DF
9.- segunda sigla del apellido paterno no vocal K
10.- segunda sigla del apellido materno no vocal R
11.- segunda sigla del nombre no vocal N
12.- si naciste en 19?? es cero 0, o si naciste en 20?? es A
13.- ultimo dígito, calculo de todos los campos generados hasta el momento en ascii, si es numero se queda el numero, si es letra de entra A y N le restas 55, si es O y Z le resta 54, del resultado anterior lo multiplica por ( 18 menos la posición ) y suma el resultado, Y al final saca el residuo de 10, ese es dígito final

O sea MAFS630918HDFKRN07, con esto no creo mucho problema generar un programa en java
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