Está en la página 1de 10

 MAPA INTERACTIVO DE PROCESOS

El mapa interactivo para explicar como es que se coordinan los programas en sockets
cliente con el programa servidor y este a su vez con los procesos que entran a las bases de
datos

i
Explicación
El socket server, se inicia y se quedará activo todo el tiempo hasta que
un evento especial lo cierre, de lo contrario, siempre estará atento a
recibir peticiones y prestar servicios.

El socket CLIENTE, se inicia, hace la solicitud de conexión y


sincronización con el socket server. Una vez el apretón de manos, es
2 establecido, elabora las peticiones y las envía al socket cliente
Las peticiones se arman en un mensaje y se envían al servidor
3

El servidor recibe la petición en un mensaje tipo String. Toma el


mensaje y extrae la información como sub-cadenas y las convierte en
numéricas, según sea la necesidad, para poder entregarlas al proceso
que accede a la base de datos.

El proceso accede a la BD desarrolla la solución, luego se arma el


5
mensaje de respuesta, para que el socket servidor, proceda a enviarla
al Cliente.

El socket Server, envía el mensaje de respuesta con la solución al


cliente.
6

Una vez enviada la solución al cliente, se regresa a su antigua posición


7
de escucha, pendiente por si el cliente le hace una nueva petición.

El cliente recibe el mensaje, los saca del String o cadena de datos, la


8
parte en campos para publicar y si necesita nuevos datos vuelve y
arma otro mensaje con una nueva solicitud.

Si la solución que el servidor le devolvió al socket cliente, es suficiente,


9
se cierra el socket cliente (termina la transacción) pero le avisa al
Servidor, que esa conexión se debe terminar

El socket server recibe la notificación y se coloca en estado de


10 escucha, para recibir la petición de otro cliente, por ejemplo: para el
caso de los cajeros automáticos, el Server estará atento a recibir la
petición de otro cajero automático que puede estar en otro lugar.
FUNDAMENTOS DE PROGRAMACIÓN PARA TRABAJAR CON
CADENAS EJ JAVA

length ()Devuelve el número de caracteres en esta cadena.


charAt (índice) Devuelve el carácter en el índice especificado de esta
cadena.
concat (s1) Devuelve una nueva cadena que concatena esta cadena con la
cadena s1.
toUpperCase ()Devuelve una nueva cadena con todas las letras en
mayúsculas.
toLowerCase ()Devuelve una nueva cadena con todas las letras en
minúsculas
trim ()Devuelve una nueva cadena con caracteres de espacio en blanco
recortados en ambos lados.

El método s.charAt (índice) se puede utilizar para recuperar un carácter


específico en una cadena s, donde el índice está entre 0 y s.length () - 1. Por
ejemplo, message.charAt (0) devuelve el carácter W, como se muestra en la
Figura 1. Tenga en cuenta que el índice para el primer carácter de la cadena
es 0.

Figura 1.
importjava.util.Scanner;

publicclassCantidadVocales {
publicstatic void main(String[] args) {
Scanner sc = new Scanner(System.in);
Stringcad = sc.nextLine(); //leemos la cadena
intcantidadVocales = 0;
//iteramos mientras el indice sea menor al tamanio total de la cadena
for (int i = 0; i <cad.length(); i++) {
char car = cad.charAt(i); //obtenemos el caracter en la posicion i
//si el caracter es igual a "a", "e", "i", "o", ó "u" entonces es vocal
if (car == 'a' || car == 'e' || car == 'i' || car == 'o' || car == 'u') {
cantidadVocales++; //contamos cantidad vocales +1
}
}
//mostramos por pantalla cantidad de vocales
System.out.println("La candidad de vocales es: " + cantidadVocales);
}

Concatenación de cadenas

Puede utilizar el método concat para concatenar dos cadenas. La declaración que se
muestra a continuación, por ejemplo, concatena las cadenas s1 y s2 en s3:

Cadena s3 = s1.concat (s2);

Debido a que la concatenación de cadenas se usa mucho en la programación, Java


proporciona una manera conveniente de lograrlo. Puede usar el operador más (+)
para concatenar dos cadenas, por lo que la declaración anterior es equivalente a:

Cadena s3 = s1 + s2;

El siguiente código combina el mensaje de cadenas "y" y "HTML" en una cadena:

String myString = message + "y" + "HTML";

Recuerde que el operador + también puede concatenar un número con una cadena. En
este caso, el número se convierte en una cadena y luego se concatena. Tenga en cuenta
que al menos uno de los operandosdebe ser una cadena para que la concatenación
tenga lugar.

Lectura de cadenas por consola.

Se hace con next().


Ejemplo:

Scanner input = new Scanner(System.in);


System.out.print("Enter three words separated by spaces: ");
String s1 = input.next();
String s2 = input.next();
String s3 = input.next();
System.out.println("s1 is " + s1);
System.out.println("s2 is " + s2);
System.out.println("s3 is " + s3);

LECTURA DE CARACTERES POR CONSOLA

Para leer un carácter desde la consola, use el método nextLine() para leer una cadena
y luego invoque el método charAt (0) en la cadena

Scanner input = new Scanner(System.in);


System.out.print("Enter a character: ");
String s = input.nextLine();
char ch = s.charAt(0);
System.out.println("The character entered is " + ch);

Comparando cadenas

equals(s1)Devuelve verdadero si esta cadena es igual a la cadena s1.

compareTo(s1) Devuelve un número entero mayor que 0, igual a 0 o menor que 0


para indicar si esta cadena es mayor, igual o menor que s1.

compareToIgnoreCase(s1) Igual que compareTo, excepto que la comparación no


distingue entre mayúsculas y minúsculas.

startsWith(prefijo) Devuelve verdadero si esta cadena comienza con el prefijo


especificado.
endsWith(sufijo)Devuelve verdadero si esta cadena termina con el sufijo
especificado.
contains(s1)Devuelve verdadero si s1 es una subcadenacontenida en esta cadena.

package ejercicios;

importjava.util.Scanner;

publicclass Cadenas {

publicstaticvoidmain(String[] args) {
Scanner input = new Scanner(System.in);
// Prompt the user to enter two cities
System.out.print("Entre la primera ciudad: ");
String city1 = input.nextLine();
System.out.print("Entre la segunda ciudad: ");
String city2 = input.nextLine();

if (city1.compareTo(city2) < 0)
System.out.println("las ciuddades en orden
alfabetico son: " + city1 + " y " + city2);
else
System.out.println("Las ciudades ordanadas
son " + city2 + " " + city1);
}
}

ARMADO, DESARMADO Y BUSQUEDA EN CADENAS

Cadena substring. Retorna un substring a partir de la posición indicada en el


parámetro pos1 hasta la posición pos2 sin incluir dicha posición.

Ejemplo1: Stringsubstring(int pos1,int pos2)

Puede obtener un solo carácter de una cadena usando el método charAt. También
puede obtener una subcadena de una cadena utilizando el método de subcadena en la
clase Cadena.

Por ejemplo2,

Sea:
Stringmessage = "Welcometo Java";

String mensaje1 = message.substring( 0, 11) + "HTML";


Entonces de la posición 0 a la 11 estan las palabras “Welcomneto ”, le
sumamos la cadena “HTML” y nos da lo siguiente:

La cadena mensaje1 muestra lo siguiente:

Welcometo HTML.

TABLA DE METODOS PARA OBTENER SUBSTRINGS

index (ch) Devuelve el índice de la primera aparición de ch en la cadena. Devuelve -


1 si no coincide.

indexOf (ch, fromIndex)Devuelve el índice de la primera aparición de ch después


de fromIndex en la cadena. Devuelve -1 si no coincide.

indexOf(s)Devuelve el índice de la primera aparición de la cadena s en esta cadena.


Devuelve -1 si no coincide.

indexOf (s, fromIndex)Devuelve el índice de la primera aparición de la cadena s en


esta cadena después de fromIndex. Devuelve -1 si noemparejado

lastIndexOf(ch)Devuelve el índice de la última aparición de ch en la cadena.


Devuelve -1 si no coincide.
lastIndexOf (ch, fromIndex)Devuelve el índice de la última aparición de ch antes
de fromIndex en esta cadena. Devuelve -1 si noemparejado

lastIndexOf(s)Devuelve el índice de la última aparición de la cadena s. Devuelve -1


si no coincide.

lastIndexOf (s, fromIndex)Devuelve el índice de la última aparición de la cadena s


antes de fromIndex. Devuelve -1 si no coincide.

Ejemplo3:

Otros ejemplos:

package ejercicios;

publicclasssubcadenas {

publicstaticvoidmain(String[] args) {

Stringcadena = "EL MAR ES AZUL Y EL CIELO


TAMBIEN";
intlongitud = cadena.length();
Stringa = cadena.substring(7); //
Extraerdesdelaposicion 7 hasta el final
System.out.println("Ejemplo de SubString en Java
1 = " + a);

Stringb = cadena.substring(9); //
Extraerdesdelaposicion 9 hasta el final
System.out.println("Ejemplo de SubString en Java
2 = " + b);

Stringc = cadena.substring(0, 13); //


Extraerdesdelaposicion (0) tomar 13 caracteres
System.out.println("Ejemplo de SubString en Java
4 = " + c);
// Extraerdesdela 5 tome 20
System.out.println("Ejemplo de SubString en Java
5 = " + cadena.substring(5, 20));
// armarmensajes y
desarmarlosluegoparaconvertirlos a nuemros

Stringopcion = "1,";
Stringoficina = "2458";
Stringsecuencia = "98765432,";
StringValor = "100000";
Stringmensaje = opcion + oficina + secuencia +
Valor;
System.out.println("EL MENSAJE ES = " +
mensaje);

intk = mensaje.indexOf(','); //
extraelaposiciondelacoma

intopc = Integer.parseInt(opcion.substring(0,
k)); // desdelacerotome 1 valor
System.out.println("LA OPCION ES = " + opc);

intsucursal =
Integer.parseInt(mensaje.substring(2, 6)); //iniceenlapos
2 y corteenla 6
System.out.println("LA SUCURSAL ES = " +
sucursal);

intcuenta =
Integer.parseInt(mensaje.substring(6,14)); //iniceenlapos
2 y corteenla 6
System.out.println("LA CUENTA ES = " + cuenta);

intvalor =
Integer.parseInt(mensaje.substring(15)); //iniceenlapos 2
y corteenla 6
System.out.println("LA CUENTA ES = " + valor);
}
}
Salida:

Ejemplo de SubString en Java 1 = ES AZUL Y EL CIELO


TAMBIEN
Ejemplo de SubString en Java 2 = AZUL Y EL CIELO TAMBIEN
Ejemplo de SubString en Java 4 = EL MAR ES AZU
Ejemplo de SubString en Java 5 = R ES AZUL Y EL
EL MENSAJE ES = 1,245898765432,100000
LA OPCION ES = 1
LA SUCURSAL ES = 2458
LA CUENTA ES = 98765432
LA CUENTA ES = 100000