domingo, 8 de noviembre de 2015

El Java Método indexOf

El indexOf método se utiliza para localizar un carácter o una cadena dentro de otra cadena. Por ejemplo, se puede utilizar para ver si hay un carácter @ en una dirección de correo electrónico.Usemos el ejemplo de algún código.
Una vez más, puede eliminar o comentar el código que ya tiene. Pero aquí está el nuevo código para probar:
Código Java que muestra un ejemplo de indexOf
Queremos comprobar si el signo @ se encuentra en la dirección de correo electrónico, así que primero creado una variable de tipo char y asignamos un valor de '@'. (Tenga en cuenta las comillas simples para la variable char). Después de la creación de una dirección de correo electrónico, tenemos una variable de resultado. Esta es una variable int. La razón de que resultado es un entero es porque el indexOf método devolverá un valor. Se devolverá el número de posición del carácter de signo en el email_address cadena. Aquí está la línea correspondiente:
resultado = email_address.indexOf (ampersand);
La cadena que está tratando de buscar lo primero. Después de un punto, escriba indexOf. Entre los paréntesis de indexOf, usted tiene varias opciones. Una de las opciones es escribir un único carácter (o el nombre de la variable char). Hemos puesto nuestra variable y comercial entre los paréntesis de indexOf. Java luego nos dicen la posición del carácter @ en la dirección de correo electrónico. Será almacenar el valor en la variable de resultado.
Cuando se ejecuta el código, la salida será 4. Se podría pensar que el signo @ es el quinto personaje en la dirección de correo electrónico. Pero indexOf empieza a contar a 0.
Sin embargo, si el personaje no está en la palabra que usted está buscando, indexOf devolverá un valor de -1. Para probar esto, elimine el símbolo @ de su cadena email_address. A continuación, ejecute el código de nuevo. Verás -1 como la salida.
Puede utilizar el valor de retorno de -1 a su ventaja. Aquí está el código de nuevo, sólo que con una instrucción IF que examina el valor de la variable de resultado:
El uso de una instrucción IF con indexOf
Así que si el resultado de indexOf es -1 entonces podemos hacer una cosa, otra cosa que el usuario pueda continuar.
También puede utilizar indexOf para probar más de un carácter. El código siguiente comprueba la dirección de correo electrónico para ver si se termina con ".com":
Usando indexOf para comprobar el final de una cadena de Java
El código es casi idéntico, excepto que ahora estamos usando una variable String para contener el texto que queremos comprobar (.com), y no una variable de tipo char.
De nuevo, un resultado de -1 se devolverá si el texto a buscar no se encuentra en la cadena que viene antes del punto de indexOf. De lo contrario, indexOf volverá la posición de la primera del carácter correspondiente. En el código anterior, el punto es el séptimo carácter de la dirección de correo electrónico, cuando se empieza a contar desde 0.
También puede especificar una posición de partida para sus búsquedas. En nuestro ejemplo dirección de correo electrónico, podemos empezar a buscar el ".com" después del símbolo @.Aquí hay un código que primero localiza la posición del símbolo @, y luego usa como la posición de inicio para buscar ".com".
Usando indexOf para buscar una cadena de Java
La nueva línea de código es la siguiente:
resultado = email_address.indexOf (puntocom, ATPOS);
La única cosa diferente es la adición de una variable adicional entre los soportes de indexOf.Todavía tenemos la cadena que queremos buscar (que es cualquier texto que está en la variable de las puntocom), pero ahora tenemos una posición de partida para la búsqueda. Este es el valor de los ATPOS variable llamada. Obtenemos el valor ATPOS utilizando indexOf para localizar la posición del símbolo @ en la dirección de correo electrónico. Java continuación, se iniciará la búsqueda de esta posición, en lugar de a partir de 0, que es el valor predeterminado.

Termina Con ... Comienza Con

Para el programa anterior, también puede utilizar el método endsWith incorporado:
Final Boolean = email_address.endsWith (puntocom);
Es necesario establecer una variable booleana para endsWith, debido a que el método devuelve una respuesta de verdadero o falso. La cadena que está tratando de probar va entre los paréntesis de endsWith, y el texto que está buscando va delante de él. Si el texto se encuentra en la cadena de búsqueda se devuelve un valor true, de lo contrario será falsa. Puede agregar un if ... else para comprobar el valor:
si (final == false) 
{System.out.println ("no válida Dirección de correo 
electrónico");} 
else 
{System.out.println ("Email Address 
OK");}
El método startsWith se utiliza de una manera similar:
Boolean startval = email_address.startsWith (puntocom);
Una vez más, el valor de retorno es verdadero o falso un booleano.

Comparando Cuerdas

Usted puede comparar una cadena a otra. (Al comparar, Java utilizará los valores hexadecimales en lugar de las propias letras.) Por ejemplo, si usted quiere comparar la palabra "mono" con la palabra "App" para ver cuál debe venir primero, se puede utilizar un método de cadena incorporado llamada compareTo. Vamos a ver cómo funciona.
No es necesario para iniciar un nuevo proyecto para esto: simplemente comentar (o eliminar) el código que ya tiene. Ahora agregue el siguiente código:
Código Java que muestra una exmple de compareTo
Hemos creado dos variables de cadena para contener las palabras "Ape" y "App". El método compareTo es continuación de esta línea en el código anterior:
resultado = Word1.compareTo (Palabra2);
El compareTo método devuelve un valor. El valor que se devuelve será mayor que 0, a menos de 0, o tiene un valor de cero. Si Palabra1 viene antes Palabra2, entonces el valor que se devuelve será inferior a 0. Si Palabra1 viene después Palabra2 entonces el valor devuelto será mayor que 0. Si las dos palabras son idénticas a continuación, se devolverá un valor de 0.
Así que hay que asignar el valor que compareTo devuelve a una variable. Estamos poniendo el valor en una variable entera llamada resultado. Las declaraciones IF en el código simplemente pone a prueba para ver lo que está en la variable de resultado
Sin embargo, cuando se compara una cadena de texto con otro, Java compara los valores hexadecimales subyacentes, en lugar de las letras reales. Debido a que las letras mayúsculas tienen un valor hexadecimal inferiores a las minúsculas, una letra mayúscula "A" en "App" llegará antes de una letra minúscula "a" en "mono". Pruébelo usted mismo. Cambio "Ape" a "mono" en el código. La salida se lee "Palabra1 es más que Palabra2", lo que significa que Java colocará la palabra "mono" después de la palabra "aplicación" en orden alfabético.
Para resolver el problema, hay un método relacionado llamado compareToIgnoreCase. Como su nombre sugiere, en minúscula y mayúscula son ignorados. Utilice este y "mono vendrá antes" App "en orden alfabético.

La conversión a mayúsculas y minúsculas en Java

Convertir sus cadenas de Java de texto a mayúsculas o minúsculas es bastante sencillo: sólo tiene que utilizar el métodos toUpperCase incorporado y toLowerCase.
Inicie un nuevo proyecto para esto, y añadir el siguiente código:
Código Java que muestra cómo convertir a mayúsculas
Las dos primeras líneas de código sólo crearon una variable String para mantener el "texto para cambiar" el texto, y luego imprimirlo. La tercera línea establece una segunda variable String llamado resultado. La cuarta línea es donde hacemos la conversión:
resultado = changeCase .toUpperCase ();
Para utilizar un método de cadena que primero escribe la cadena que desea trabajar. Para nosotros, esta era la cadena en la variable llamada changeCase. Escriba un punto después del nombre de la variable y verá una lista de métodos disponibles que se pueden utilizar en su cadena. Seleccione toUpperCase. (El método necesita los paréntesis vacíos después de ella.)
Después de Java ha cambiado la palabra a mayúsculas, estamos almacenando la nueva cadena en la variable resultado.
Cuando se ejecuta el programa, la ventana Salida muestra lo siguiente:
Salida de código toUpperCase
Pero usted no tiene que guardar la palabra convertida en una nueva variable. Esto funcionaría igual de bien:
System.out.println (changeCase.toUpperCase ());
Aquí, Java simplemente seguir adelante con la conversión de la cadena, sin necesidad de asignar el resultado a una nueva variable.
Si desea convertir a minúsculas, sólo tiene que utilizar el toLowerCase método en lugar. Se utiliza exactamente de la misma manera que toUpperCase.

Más sobre Strings Java

Hay más a las cadenas de lo que parece. A diferencia de las variables int, o variables dobles, las cadenas son objetos. Lo que esto significa en la práctica es que se pueden hacer cosas con las cadenas de texto que no se puede hacer con las variables int o dobles. (Lo mismo se aplica a la primitiva tipos de datos boolean, byte, sola, char, float, largo y corto: no son objetos como cuerdas son.)
Antes de llegar a la manipulación de cadenas de texto, aquí hay algo de información básica sobre qué cadenas son en realidad.

Cómo Tiendas Java Cuerdas
Una cadena es una serie de caracteres Unicode celebradas bajo un nombre de variable. Tome la siguiente cadena:
Cadena SomeText = "Bill";
Esto le indica a Java para crear un objeto de cadena con cuatro caracteres "B", "i", "l" y otro "l". En el juego de caracteres Unicode, estos valores son los siguientes: \ u0042 \ u0069, \ u006c, \ u006c. Valores Unicode se almacenan como números hexadecimales. Las letras mayúsculas (A a Z) se almacenan utilizando los valores \ u0041 a \ u005a, mientras que las letras minúsculas (A a Z) se almacenan utilizando los valores hexadecimales \ u0061 a \ u007a.
En la sección anterior, tuvimos una matriz que contenía cadenas de texto. A continuación, se solucionó la matriz:
Código Java que muestra un ejemplo de una matriz de cadenas
Cuando se ejecuta el programa, la salida es la siguiente:
Salida de Java especie
Hemos tomado nota de que la palabra "Esto" es lo primero. Si se supone que la matriz para ser ordenados alfabéticamente, sin embargo, se puede esperar la palabra "a" para llegar primero. La razón por la que no lo hace es porque minúscula "a" tiene un valor hexadecimal de u \ 0061, que es el número decimal 97. Pero mayúscula "T" tiene un valor hexadecimal de u \ 0054, que es el número decimal 84. 84 es inferior a 97, por lo que la "T" es lo primero.

Listas de matriz en Java

Si usted no sabe cuántos elementos se van a celebrar en su conjunto, puede ser mejor usar algo que se llama un ArrayList. Un ArrayList es una estructura de datos dinámica, es decir, los artículos se pueden agregar y quitar de la lista. Una matriz de lo normal en java es una estructura de datos estática, porque se pegan con el tamaño inicial de la matriz.
Para configurar un ArrayList, primero tiene que importar el paquete de la biblioteca java.util:
java.util.ArrayList importación;
A continuación, puede crear un nuevo objeto ArrayList:
ArrayList listTest = new ArrayList ();
Observe que no es necesario ningún corchetes este momento.
Una vez que haya un nuevo objetos ArrayList, puede agregar elementos a la misma con el método add:
listTest.add ("primer elemento");
listTest.add ("segunda opción");
listTest.add ("tercer elemento");
listTest.add (7);
Entre los paréntesis de complemento de poner lo que sea que desee agregar a la ArrayList. Sólo puede agregar objetos, sin embargo. Los tres primeros artículos que hemos añadido a la lista anterior son objetos String. El cuarto elemento es un número. Pero esto va a ser un objeto número de tipo entero, más que el tipo de datos primitivo int.
Los elementos de la lista pueden ser referenciados por un número de índice, y utilizando el método get:
listTest.get (3)
Esta línea será conseguir el artículo en la posición Índice 3 en la lista. Números índices empiezan a contar desde cero, por lo que este será el cuarto punto.
También puede eliminar elementos de un ArrayList. Usted puede utilizar el número de índice:
listTest.remove (2);
O puede utilizar el valor en la lista:
listTest.remove ("segunda opción");
Extracción de un artículo será redimensionar el ArrayList, así que tienes que tener cuidado cuando se trata de obtener un elemento de la lista al utilizar su número de índice. Si hemos eliminado el punto número 2, entonces nuestra lista anterior contendrá sólo 3 artículos. Tratar de conseguir el artículo con el número 3 Índice sería entonces dar lugar a un error.
Para ir a través de cada elemento en su ArrayList puede configurar algo llamado Iterator. Esta clase también se puede encontrar en el java.util biblioteca:
java.util.Iterator importación;
A continuación, puede adjuntar su ArrayList a un nuevo objeto Iterator:
Iterator it = listTest.iterator ();
Esto crea un nuevo objeto Iterator llamó que se puede utilizar para ir a través de los elementos de la ArrayList llamada listTest. La razón para usar un objeto Iterator es porque tiene métodos llamados siguiente y hasNext. Usted puede utilizar estas en un bucle:
while (it.hasNext ()) 
{System.out.println (it.next 
());}
El método hasNext devuelve un valor booleano. El valor será false si no hay más elementos en el ArrayList. El siguiente método se puede utilizar para pasar por todos los elementos de la lista.
Para poner a prueba toda esta teoría, prueba el siguiente código:
Código Java que muestra una lista de arreglo
Observe la línea que imprime toda la lista:
System.out.println ("lista entera =" + listTest);
Esto le da una forma rápida de ver qué elementos están en su lista, si se pone un poco demasiado tiempo.
Cuando se ejecuta el código, la ventana de resultados mostrará lo siguiente:
primer punto
segundo elemento
tercer punto
7
lista Total = [primer tema, tercer punto, 7]
Posición 1 = tercer punto
En resumen, a continuación, utilizar un ArrayList cuando no estás seguro de cómo muchos elementos van a estar en una lista de elementos.

Matrices multidimensionales en Java

Las matrices que han estado utilizando hasta ahora sólo se han llevado a cabo una columna de datos. Pero usted puede configurar una matriz para contener más de una columna. Estos se llaman matrices multidimensionales. Como ejemplo, piense en una hoja de cálculo con filas y columnas. Si usted tiene 6 filas y 5 columnas entonces tu hoja de cálculo puede contener 30 números. Se podría tener este aspecto:
Una representación de una matriz de 2 dimensiones
Una matriz multidimensional es uno que puede contener todos los valores anteriormente. Usted les configura como esto:
int [] [] aryNumbers = new int [6] [5];
Se creó en la misma forma que una matriz normal, excepto que tiene dos juegos de corchetes. El primer conjunto de corchetes es para las filas y el segundo par de corchetes es para las columnas. En la línea de código anterior, estamos contando Java para crear una matriz con 6 filas y 5 columnas. Para mantener los valores en una matriz multi-dimensional que tienes que tener cuidado de seguimiento de las filas y columnas. Aquí hay algo de código para llenar las primeras filas de números de nuestra imagen de hoja de cálculo:
aryNumbers [0] [0] = 10;
aryNumbers [0] [1] = 12;
aryNumbers [0] [2] = 43;
aryNumbers [0] [3] = 11;
aryNumbers [0] [4] = 22;
Así que la primera fila es la fila 0. Las columnas y luego ir de 0 a 4, que está a 5 elementos. Para llenar la segunda fila, sería la siguiente:
aryNumbers [1] [0] = 20;
aryNumbers [1] [1] = 45;
aryNumbers [1] [2] = 56;
aryNumbers [1] [3] = 1;
aryNumbers [1] [4] = 33;
Los números de columna son los mismos, pero los números de fila son ahora todos 1.
Para acceder a todos los elementos en una matriz multi-dimensional de la técnica es utilizar un bucle dentro de otro. Aquí hay algo de código para acceder a todo nuestro número desde arriba.Se utiliza un doble bucle for:
Código Java que muestra cómo utilizar dos para bucles con una matriz de 2 dimensiones
La primera bucle for se utiliza para las filas; el segundo bucle for es para las columnas. La primera vez alrededor del primer bucle, el valor de la variable i será 0. El código dentro del bucle for es otro bucle. La totalidad de este segundo bucle se ejecuta mientras que el valor de la variable i es 0. El segundo bucle for utiliza una variable llamada j. El i y las variables j entonces se puede utilizar para acceder a la matriz.
aryNumbers [i] [j]
Así que el sistema de dos bucles se utiliza para ir a través de todos los valores en una matriz multi-dimensional, fila por fila.

Ejercicio J
acabar con el programa anterior, donde estamos escribiendo un programa para imprimir todos los valores de la hoja de cálculo. Su ventana de salida debe ser algo como esto cuando haya terminado:
Ventana de salida de código de matriz

Arrays y Cadenas

Usted puede colocar cadenas de texto en matrices. Esto se hace en la misma forma que para los números enteros:
String [] aryString = new String [5];
aryString [0] = "Este";
aryString [1] = "es";
aryString [2] = "a";
aryString [3] = "cadena";
aryString [4] = "matriz";
El código anterior crea una matriz de cadenas con 5 posiciones. El texto se asigna a cada posición en la matriz.
Aquí está un lazo que va redondas todas las posiciones de la matriz, la impresión de lo que sea en cada posición:
int i; 
for (i = 0; i <aryString.length; i ++) 
{System.out.println (aryString 
[i]);}
El bucle da vueltas y vueltas mientras que el valor en la variable llamada i es menor que la longitud de la matriz llamada aryString.
Cuando se ejecuta el programa anterior, la ventana de salida se verá así:
Ventana de resultados muestra los resultados de una matriz de cadenas de Java
Puede llevar a cabo una especie de matrices de cadenas, al igual que se puede con números enteros. Pero el tipo es un ascendente alfabético uno, lo que significa que "aa" vendrá primero sobre "ab". Sin embargo, Java utiliza caracteres Unicode para comparar una letra en su cadena a otra. Esto significa que letra mayúscula vendrá antes que las minúsculas. Pruebe el siguiente código:
Ordenar una matriz de cadenas de Java
Cuando se ejecuta el programa, la ventana de resultados mostrará lo siguiente:
Resultados inesperados en la ventana de salida
Aunque hemos solucionaron la matriz, la palabra "Esto" es lo primero. Si esto fuera un tipo alfabético, lo que espera la palabra "a" a lo primero. "Y lo hace si todas las letras son minúsculas. En su código de programación, cambiar la" T "mayúscula de" This "a una minúscula" .. t "Ahora ejecute el programa de nuevo la ventana de salida ahora mostrará lo siguiente:
Tipo alfabético
Como puede ver, la palabra "esto" se encuentra ahora en la parte inferior. Vamos a tener una mirada más cercana a las cadenas en la siguiente sección, así que no te preocupes demasiado por ahora. En su lugar, pruebe estos ejercicios.

Ejercicio G
Configure una matriz para contener los valores siguientes, y en este orden: 23, 6, 47, 35, 2, 14. Escriba un programa para obtener el promedio de los 6 números. (Puede usar números enteros para este ejercicio, que redondear a la baja su respuesta.)


Ejercicio H
Utilizando los valores anteriores, tiene la impresión programa de la cifra más alta en la matriz.

Ejercicio I
Usando la misma matriz anterior, tiene la impresión programa cabo sólo los números impares.