domingo, 8 de noviembre de 2015

Clases Java

En esta sección, usted aprenderá cómo escribir sus propias clases Java, y cómo crear objetos de ellos. Usted ya ha hecho un comienzo de clases en la sección anterior. Pero vamos a entrar en más detalle ahora. En caso de que usted está confundido acerca de la diferencia entre un objeto y la clase, sin embargo, cuando hablamos de una clase que estamos hablando el propio código, el código que se sienta sin hacer nada.Cuando se pone el código para trabajar es un objeto.
Cuando se crea una clase, estás escribiendo código para hacer un trabajo en particular. Ese trabajo podría ser la de hacer con un empleado, pero no las cifras de ventas de la empresa, al mismo tiempo. Se podría escribir una clase separada para las cifras de ventas. De esa manera, se puede volver a utilizar la clase empleado en otro proyecto. Las cifras de ventas serían los datos redundantes.
Cuando usted está tratando de llegar a sus propias ideas para las clases que usted debe tener en cuenta esta cuestión redundancia y pregúntese: "¿Hay algún código de esta clase que no necesita estar aquí?"
Por ejemplo de esta sección, vamos a escribir una clase que se ocupa de los exámenes. Para nuestra clase de ejemplo, vamos a hacer las cosas simples. Nos registramos el nombre de la persona que toma el examen, que el examen era, la puntuación de 50, y una calificación.
Vamos a hacer un comienzo.
Crear un nuevo proyecto Java para esto. Llame a los paquetes de exámenes, y luego cambiar el nombre del método principal para ExamDetails. A continuación, debe tener el siguiente código:
La clase ExamDetails Java en blanco
Vamos a crear una segunda clase para manejar los datos de los exámenes. Así, en NetBeans, haga clic en Archivo en la barra de menú en la parte superior. En el menú Archivo, seleccioneNuevo archivo. Resaltar Java de la lista Categorías, y Java Class de la lista Tipos de archivo.Luego haga clic en Siguiente. En la siguiente pantalla, introduzca StudentResults como el nombre de la clase. Luego haga clic en Finalizar. NetBeans creará una segunda clase en su proyecto. Puede eliminar cualquier comentario por defecto.

Al pasar varios valores a los Métodos

Puede pasar más de un valor a sus métodos. Agregue el siguiente método a la clase MyMethods:
Un método Java con dos parámetros
Todo este método es imprimir algo. Entre los paréntesis del nombre del método tenemos dos valores, una variable de cadena llamada laCadena y una variable int llamada Aval. Cuando llamamos a este método, necesitamos una cadena primero y luego un número. Trate de hacerlo al revés y obtendrá mensajes de error.
Vuelve a tu clase TestMethods y hacer la siguiente llamada al método:
test1.print_text ("El valor era", aVal2);
Una vez más, la print_text método debe aparecer en la lista de NetBeans emergente.
Método añade a la lista
Los valores (parámetros) que nosotros especificamos están entre los paréntesis, junto con el método de retorno, nula.
Pero la ventana de codificación principal ahora debería tener este aspecto:
Todo el código Java de nuestro método principal
Los dos valores que estamos pasando por encima están separados por una coma. Observe que el valor interior de aVal2 está siendo pasado por alto. Sin embargo, el nombre de la variable en el interior de los paréntesis de print_text se llama aval. Aunque los dos nombres de las variables son diferentes, esto no importa. Lo que están haciendo es pasar valores sobre el método. Así que la variable Aval va a terminar con el mismo valor que aVal2.
Si ejecuta su programa ahora, debería ver lo siguiente en la ventana de salida:
Ventana Salida
Dejaremos métodos no por el momento. Vamos a estar escribiendo más métodos a medida que avanzamos, por lo que hay que conseguir un montón de práctica. La siguiente sección es sobre Clases - Programación Orientada a Objetos.

Pasar valores a sus métodos de Java

Puede pasar valores a sus métodos de manera que se puede hacer algo con este valor. Ese valor va entre los paréntesis del método.
Cambie de nuevo a tu clase MyMethods. Ahora agregue el segundo de nuestros métodos totales:
Código Java que muestra un método con un parámetro
Ahora tenemos dos métodos con el mismo nombre: el total. La diferencia entre los dos es que este nuevo tiene un valor entre los paréntesis. Java le permite hacer esto, y se llama sobrecarga de métodos. Usted puede tener tantos métodos con el mismo nombre que desea, con cualquier valor de retorno. Sin embargo, no se puede tener el mismo tipo de variables entre los paréntesis.Así que no se puede tener dos métodos totales que devuelven valores int con ambos tienen valores int entre los paréntesis. No se puede hacer esto, por ejemplo:
int totales (int unNumero) 
{int a_Value = unNumero + 20;
volver 
a_Value;}
int totales (int unNumero) 
{int a_Value = unNumero + 50;
volver 
a_Value;}
Aunque los dos métodos de hacer cosas diferentes, que tienen las mismas cabeceras de método.
Antes de probar el nuevo método, añadir algunos comentarios directamente sobre el método:
Javadoc comentarios añadidos con el método
Vas a ver lo que los comentarios pueden hacer en un momento. Pero el param en los comentarios de arriba es la abreviatura de parámetro. Un parámetro es el término técnico para el valor entre los paréntesis de sus cabeceras de método. Nuestro parámetro se llama unNumero, y tiene un valores enteros. Observe el uso del carácter @ antes param y retorno.
Todo lo que estamos haciendo con el método en sí está pasando es un valor entero y la adición de 20 a este valor pasado. El valor de retorno es el total de los dos.
Ahora regrese a su código y añadir la siguiente línea:
int aVal2 = test1.total (30);
Tan pronto como se escribe el punto después de su test1 objeto, verá de nuevo la lista emergente. Su nuevo método total será en él. Haga clic en el nuevo método para resaltarlo y NetBeans mostrará lo siguiente:
Se muestran los comentarios Javadoc
Los comentarios que hemos añadido ahora se muestran en el cuadro azul debajo de la lista de métodos. Cualquier otra persona que viene a través de su método debe ser capaz de averiguar lo que hace. Losparam yreturn líneas de los comentarios están completadas, e hicieron negrita.
Pero una vez que haya agregado el método Total2, escriba el número 30 entre los paréntesis. A continuación, escriba un punto y coma para finalizar la línea. Usted principal método ahora debería tener este aspecto:
Una nueva llamada al método desde el programa principal
El 30 entre los paréntesis del nuevo método totales serán entregados y se coloca en la variable unNumero, que está en los paréntesis de la cabecera del método:
Los valores que se entregan con el método
Una vez que haya entregado el valor más, el método puede ir a trabajar.
Añadir una línea de impresión a su código:
System.out.println ("Método result2 =" + aVal2);
A continuación, ejecute su programa. La ventana de resultados debe mostrar lo siguiente:
Ventana de salida para el código de seguridad
Así que nuestro nuevo método total se añadieron 30 a 20, y luego regresó la respuesta a la variable llamada aVal2.
En la siguiente lección, usted aprenderá cómo pasar más de un valor a sus métodos.

Método Java Calling

Métodos no hacen nada hasta que usted los llama a la acción. Antes de ver cómo, vamos a agregar otra clase al proyecto. Entonces podemos poner todos los métodos allí, en lugar de la obstrucción de la clase principal. (Vamos a empezar a aprender más acerca de las clases en la siguiente sección.)
Inicie un nuevo proyecto de aplicación Java. Dele a su proyecto un nombre y cambiar el nombre del método Main a otra cosa. Luego haga clic en Finalizar. En la imagen de abajo, hemos llamado a nuestros proyectos prjmethods y la clase TestMethods:
Un nuevo proyecto java
Para agregar una nueva clase a su proyecto, haga clic en Archivo en el menú de NetBeans. En el menú Archivo, seleccione Nuevo archivo. Verá aparecer un cuadro de diálogo. En el Categoriassección seleccione Java y, en el Tipos de archivo sección seleccione Java Class. Luego haga clic en el botón Siguiente en la parte inferior. En el segundo paso, escriba un nombre para la nueva clase. Hemos llamado a nuestros MyMethods. Puede dejar todo lo demás en los valores por defecto:
El nuevo asistente de proyectos NetBeans
Haga clic en el botón Siguiente en la parte inferior. En el segundo paso, escriba un nombre para la nueva clase. Hemos llamado a nuestros MyMethods. Puede dejar todo lo demás en los valores por defecto:
Cuadro de diálogo para escribir un nuevo nombre para una clase Java
Así que estamos creando una segunda clase llamada MyMethods que estarán en el proyectoprjmethods. Haga clic en el botón Finalizar y se creará el archivo de la nueva clase. Una nueva pestaña aparecerá en el software NetBeans, con algunos comentarios defecto acerca de cómo cambiar las plantillas. Usted puede borrar estos comentarios, si lo desea. Usted debe quedar con la siguiente ventana de código:
Una nueva clase ha sido creado
Lo que hay que notar es que no hay ningún método principal esta vez - sólo una clase en blanco con el nombre elegido, y un par de llaves para su código. Vamos a añadir uno de nuestros métodos. Así que añadir el siguiente código a su clase:
Un método int añadido a la nueva clase
Este es el int método nos conocimos antes, con el nombre de totales. No tiene nada entre los paréntesis, lo que significa que no vamos a entregarlo ningún valor. Todo el método no es sumar 10 + 10 y almacenar la respuesta en una variable llamada a_Value. Este es el valor que se devuelve desde el método. El valor después de la palabra clave return debe coincidir con el tipo de retorno de la cabecera del método. El nuestro es bien porque ambos son int.
(Es importante tener en cuenta que el a_Value variable no se puede ver fuera del método en total: Cualquier variable instalado en el interior de un método no se puede acceder fuera de ese método Se le conoce como a. Local de la variable - es local el método.)
Para llamar al método totales, seleccione la pestaña TestMethods en NetBeans, el que con su método Main. Vamos a llamar al método total desde el método Main.
Lo primero que debe hacer es crear un nuevo objeto de nuestra clase MyMethods. Agregue la siguiente línea a su método principal:
La creación de un nuevo objeto de Java
Para crear un nuevo objeto de una clase se inicia con el nombre de la clase, MyMethods en nuestro caso. Esto es, en lugar de int, double, String, etc. En otras palabras, el tipo de variable que está creando es una variable MyMethods. Después de un espacio, escriba un nombre para la nueva variable MyMethods. Hemos llamado a nuestra test1. (Ha subrayado porque no hemos hecho nada con ella todavía. Se trata de un NetBeans subrayan.)
Un signo igual que viene a continuación, seguido por la palabra clave nueva. Esto significa nuevoobjeto. Después de la palabra clave nueva, escriba un espacio seguido por el nombre de la clase de nuevo. El nombre de la clase necesita un par de paréntesis después de que, en esta ocasión. Poner fin a la línea de la manera usual, con un punto y coma.
Lo que hemos hecho aquí es crear un nuevo MyMethods objeto con el nombre test1. Nuestrototal de método dentro de la clase MyMethods ahora estará disponible a partir del método principal de la clase TestMethods.
Para llamar al método total de la acción, añada esta línea:
Al llamar al método
Estamos creación de un int variable con el nombre Aval. Después de un signo igual viene el nombre de nuestra clase, test1. Para acceder a los métodos de la clase, escriba un punto.NetBeans mostrará un cuadro emergente con los métodos disponibles:
Los métodos disponibles en nuestro proyecto
Nuestra variable total es en la lista (los otros son construidos en los métodos). Los paréntesis están vacíos porque nuestro método no acepta valores, pero el tipo de retorno, int, se muestra a la derecha.
Doble click totales para agregarlo a su código. A continuación, escriba un punto y coma para finalizar la línea.
Por último, añadir una línea de impresión:
Añadir una línea de impresión a su código
Cuando se ejecuta el código, la ventana de resultados mostrará lo siguiente:
La salida de la llamada al método
Así que para llamar a un método que devuelve un valor, tenga en cuenta el valor que se devuelve por su método. A continuación, asigne este valor a una nueva variable, Aval en nuestro caso.Pero el método debe estar disponible cuando se escribe un punto después de que su nombre de objeto.
Si su método es de tipo void, sin embargo, no es necesario asignar a una nueva variable como aval. A modo de ejemplo, cambiar de nuevo a su clase MyMethods, y añadir el método de vacío que se reunió a principios de:
Añadir un nuevo método a la clase
Este nuevo método se llama print_text. Una vez más, tiene un par vacío de paréntesis, ya que no estamos entregándoselo ningún valor. Todo lo que hace es imprimir un poco de texto.
Una vez que ha añadido el método vacío, volver a su clase TestMethods. Agregue la siguiente línea:
test1.print_text ()
Tan pronto como se escribe el punto, usted debe ver el nuevo método aparece en la lista:
Lista métodos
Tanto de nuestros métodos son ahora en la lista, totales y print_text. Los valores que se devuelven se muestran a la derecha, int y vacío.
Debido a que el método de print_text es un método vacío, que no es necesario establecer un valor de retorno. Todo lo que necesita es el nombre de su objeto, un punto, y el método de vacío al que desea llamar. Java a continuación, sólo seguir adelante con la ejecución del código dentro de su método.
Ejecute su código y su ventana de resultados debe mostrar lo siguiente:
Ventana de salida 2
En la siguiente parte, vamos a echar un vistazo más de cerca a pasar valores a los métodos.

La escritura es el propietario Métodos Java

Usted ha estado utilizando los métodos de la sección anterior, y han visto la utilidad de los incorporados pueden ser. En esta sección, usted aprenderá a escribir sus propios métodos.

La Estructura de un Método

Un método es sólo un trozo de código que hace un trabajo en particular. Pero los métodos se exponen de una manera determinada. Usted tiene una cabecera del método, y un cuerpo de método. La cabecera es donde usted le dice Java Tipo de qué valor, en su caso, el método devolverá (un valor int, un doble valor, un valor de cadena, etc). Así como el tipo de retorno, necesita un nombre para su método, que también va en la cabecera. Puede pasar valores a sus métodos, y estos van entre un par de paréntesis. El cuerpo del método es donde código va.
La cabecera del método Java
El método del tipo de retorno va primero, que es un int escriba el código de seguridad. Después de que el tipo de método, se necesita un espacio, seguido por el nombre de su método. Hemos llamado la anterior totales. En medio de un par de paréntesis que hemos dicho Java que estaremos entregando el método de una variable llamada unNumero, y que vamos a ser un número entero.
Para separar este método desde cualquier otro código, se necesita un par de llaves. El código para el método va entre los corchetes. Nota la palabra de retorno en el método anterior. Esta es, obviamente, el valor que desea volver de su método, después de ejecutarse el código. Pero debe ser del mismo tipo que el tipo de retorno en la cabecera del método. Así que el valor de retorno no puede ser una cadena si usted comenzó el método con int totales.
A veces usted no quiere Java para regresar nada en absoluto. Piense en Recortar en la sección anterior. Es posible que sólo quieren el método Recortar para seguir adelante con su trabajo, y no devuelve nada a usted. Un método que no devuelve ningún valor en absoluto se puede configurar con la palabra vacía. En cuyo caso, no es necesario el retorno de palabras clave. Aquí hay un método que no devuelve un valor:
Un método void en Java
Todo el método anterior es imprimir un texto. Sólo se puede seguir adelante con su trabajo, por lo que nos hemos propuesto como un método vacío. No hay valor de retorno.
Métodos no necesitan tener valores pasados ​​a ellos. Usted sólo puede ejecutar algún código. He aquí un método vacío sin ningún valor que se pasaron sobre:
Un método vacío sin parámetros
Y he aquí un int método que tiene que se pasa ningún valor:
Un método int Java
Como se puede ver, los paréntesis están vacíos en ambos métodos. Pero todavía se necesitan.Te pierdas los paréntesis y obtendrá un mensaje de error.
En la siguiente lección, usted aprenderá cómo llamar a sus métodos en acción.

Cuerdas con formato

Las cadenas de texto pueden ser formateados y salida con el printf comandos. El comando printf entiende una serie de personajes conocidos como especificación de formato. A continuación, toma una cadena de texto y formatos de TI, basado en la especificación de formato pasado por encima. A modo de ejemplo, se supone que queríamos la ventana de resultados para mostrar texto en columnas ordenadas, así:
Un ejemplo de salida formateada en Java
La primera columna está alineado a la izquierda, y la segunda columna es de derecha justificado.El código para los encabezados Exam_Name y Exam_Grade fue esta:
Cadena encabezado1 = "Exam_Name"; 
Cadena encabezado2 = "Exam_Grade";
System.out.printf ("% -15s% 15s% n", encabezado1, encabezado2);
Para obtener la columna de la izquierda justificada, se necesita un símbolo de porcentaje, un signo menos, el número de caracteres, y luego la letra "s" (en minúsculas). Así que ''% -15s '' significa quince caracteres justificados a la izquierda.
Para obtener una columna justificado a la derecha de la misma secuencia de caracteres se utilizan, excepto por el signo menos.
Para llegar se utiliza un salto de línea% n. Tenga en cuenta que los personajes están rodeados con comillas dobles.
Después de una coma, escribe el texto que desea formatear. La primera coma en el código anterior separa la especificación de formato del texto está formateando.
He aquí algunos cuadros de las distintas opciones.

Cadena de formato

Opciones de formato de cadena de printf
Si desea dar formato a los números a continuación, puede utilizar la "d" carácter o, para los números de punto, el carácter "f" flotante.

Entero de formato

Opciones de formato entero para printf

Floating Point Número de formato

Flotantes opciones de formato de punto para printf
Estos son algunos ejemplos de código de cadena, entero y el formato de punto flotante. Pruebe a cabo por sí mismo.

Las cadenas de formato y Números

Igual que el anterior pero los números ocupan 10 lugares, con espacios a la izquierda como relleno.


Número formato con printf

Punto flotante formato de cadenas


Por último, aquí está la mesa de nuevo desde el principio de esta sección de formato:
Tabla con formato
Y aquí está el código de la salida con formato anterior:
Tener un juego un poco con el formato, y ver cómo le va. Si recibe mensajes de error que pudo haber conseguido su "s" formatear confundido con su "d" de formato!

El método charAt en Java

Usted puede comprobar para ver qué carácter individual se encuentra en una cadena en particular. El charAt método se utiliza para esto en Java. Aquí hay algo de código para probar:
Email_address String = "meme@me.com";
Char aChar = email_address.charAt (4);
System.out.println (aChar);
Este código comprueba qué letra como en la posición 4 de la cadena de dirección de correo electrónico. El valor de retorno es una variable de tipo Char:
Char aChar = email_address.charAt (4);
Cuando se ejecuta el código anterior, la salida es el carácter @. El número entre los paréntesis de charAt es la posición en la cadena que está tratando de comprobar. Aquí, queremos conseguir en el carácter en la posición 4 de la cadena email_address. Una vez más, el conteo comienza en 0, como subcadena.
Un buen uso para charAt es para tomar una carta de una variable de cadena que se escribe por un usuario, y luego convertirlo en una sola variable carbón. Por ejemplo, usted podría pedir al usuario que escriba Y para continuar o un N para salir. Echa un vistazo a este código:
Código Java que muestra el uso del método charAt
No podemos utilizar la clase Scanner directamente para obtener una sola letra para almacenar en una variable de tipo char. Así que usamos el método next () para obtener la siguiente cadena que las entradas del usuario. Hay un número entero, al lado largo, próxima doble - incluso una al lado de Boole. Pero no hay próxima carbón. Incluso si el usuario introduce un solo personaje seguirá siendo una cadena y no un char. (Recuerde: un char variable almacena un número Unicode como un entero.)
Podemos utilizar charAt para obtener un personaje de cualquier cadena que las entradas del usuario, incluso si el usuario introduce una sola letra:
Char aChar = aString.charAt (0);
Todo lo que estamos diciendo es "Obtener el caracter en la posición 0 en la cadena de llamada laCadena, a continuación, guárdelo en la variable aChar".
Hemos añadido una instrucción IF para probar lo que está en la variable aChar. (Observe el uso de comillas simples alrededor de la letra Y.)

La sustitución Método en Java

El método replace en Java se utiliza para sustituir todos los sucesos de un personaje / s en una cadena particular. Tome esta frase:
"¿Dónde estás libros?"
Queremos sustituir "tú" con "su". Aquí está el código:
Código Java que muestra el uso del método replace
Hay varias maneras de utilizar el método de sustitución, y se diferencian en lo que se pone entre los paréntesis del método. Estamos sustitución de una secuencia de caracteres por otra. Piense en la coma que separa los dos como la palabra "con". A continuación, tendría que "se reemplaza con tu".
También puede reemplazar un solo carácter:
aString.replace ('£', '@')
El código anterior se lee "Reemplazar £ con @".
(También puede usar algo que se llama una expresión regular en tu reemplazar los métodos, pero que está fuera del alcance de este libro.)

Recortar

Puede recortar el espacio en blanco de las cuerdas El espacio en blanco es cosas como los caracteres de espacio, tabulaciones y caracteres de nueva línea - los caracteres que no se pueden ver, en otras palabras. El método de ajuste es fácil de usar:
Cadena modificar = "espacio en blanco";
enmendar = amend.trim ();
Así que el método de ajuste va después de la cadena que desea modificar. Los caracteres en blanco antes de la palabra "blanco" y después de "espacio" en el código anterior luego serán borrados.
Si usted está recibiendo el aporte de un usuario, entonces es siempre una buena idea usar adornos en las cuerdas introducidos.

El método es igual en Java

Puede comprobar dos cadenas para ver si son los mismos. Para ello, utilice el método equals en Java. Aquí hay algo de código:
Código Java que muestra el uso del método equals
En este código, queremos comprobar si una dirección de correo electrónico es igual a otro. Las dos primeras líneas establecieron dos variables de cadena, uno para cada dirección de correo electrónico. La tercera línea crea una variable booleana. Eso es debido a que el método equals devuelve un valor de verdadero o falso. La cuarta línea es donde utilizamos el método:
isMatch = email_address1.equals (email_address2);
Entre los paréntesis de la iguales método, se coloca la cadena que está tratando de comprobar.La otra cadena se va antes de que el método equals. Java entonces dirá (verdadero o falso) si los dos son la misma. Los cheques instrucción IF de cuál se trata.
El método equals sólo compara los objetos, sin embargo. Está bien para las cadenas, porque son objetos. Pero no se puede utilizar el método equals para comparar int variables. Por ejemplo, este código le conseguiría un error:
int num1 = 12;
int num2 = 13
booleana isMatch = false;
isMatch = num1.equals (num2);
La variable entero es un tipo de datos primitivo, y no un objeto. Usted puede convertir el tipo de datos int primitiva en un objeto, sin embargo:
int num1 = 12;
Entero NUM_1 = new Integer (num1);
En este caso, la variable int llamada num1 se está convirtiendo en un objeto Integer. Observe el uso de la nueva palabra clave. Entre los paréntesis de Integer, se pone el tipo de datos int primitivo que desea convertir a un objeto.

Subcadena

Un método muy útil disponible para usted, se llama subcadena. Este método le permite captar un solo trozo de texto de otro. En nuestro programa de dirección de correo electrónico anterior, por ejemplo, podríamos agarramos los últimos cinco caracteres de la dirección y veamos si es co.uk.
Para practicar un poco con la subcadena, escribiremos un pequeño juego Nombre Swapper. Para este juego, queremos cambiar las dos primeras letras de un nombre de familia e intercambiarlos con las dos primeras letras de un nombre personal, y viceversa. Así que si tenemos este nombre:
"Bill Gates"
queremos cambiar la "Ga" de "puertas" con el "Bi" de "Bill" para hacer "Bites". El "Bi" de "Bill" entonces serán intercambiados con el "Ga" de "puertas" para hacer "Gall". El nuevo nombre se imprime sería: "Gall Bites"
Usaremos subcadena para la mayor parte de este programa. Subcadena funciona así:
Cadena FullName = "Bill Gates"; 
Cadena FirstNameChars = "";
FirstNameChars FullName.substring = (0, 2);
Se configura una cadena a buscar, en este caso la cadena "Bill Gates". La cadena que está tratando de buscar va después de un signo igual. Después de un punto, escriba el nombre del método, subcadena. Hay dos formas de usar subcadena, y la diferencia está en los números entre los paréntesis. Tenemos dos números en el código anterior, 0 y 2. Esto significa empezar a agarrar caracteres en la posición 0 en la cadena, y dejar de agarrar cuando usted tiene dos de ellos. Los dos personajes se devuelven y se colocan en los FirstNameChars variables. Si siempre quiere ir hasta el final de la cadena, sólo puede hacer esto:
Prueba String = FullName.substring (2);
Esta vez, sólo tiene 1 número entre los paréntesis de la subcadena. Ahora, Java se iniciará a las dos en el carácter FirstName cadena, y luego agarrar los caracteres desde la posición 2 hasta el final de la cadena.
Iniciar un nuevo programa para probar esto. Añadir una línea de impresión hasta el final y el código debe ser la siguiente:
Java de código subcadena - ejemplo 1
Cuando se ejecuta el programa, la ventana de salida debe ser similar a esto:
Salida Subcadena 1
Así que el método substring nos ha permitido agarramos los dos primeros caracteres del nombre "Bill".
Para obtener los primeros caracteres, tuvimos un 0 y un 2 entre los paréntesis de la subcadena.Se podría pensar que para obtener el "Ga" de "puertas" que pudiéramos hacer esto:
= FullName.substring (5, 2);
Todavía queremos dos personajes, después de todo. Sólo que esta vez, el 5 sería decirle a Java que empezar desde el "G" de "puertas". (La primera posición en una cadena es la posición 0 no la posición 1.) Por lo tanto, comenzar en la posición 5 de la cadena y agarrar 2 caracteres.
Sin embargo, ejecutar ese código le conseguiría un error. Eso es debido a que el segundo número entre los paréntesis de la subcadena no significa el número de caracteres que desea tomar.Significa que la posición en la cadena que desea finalizar en. Al especificar 2 estamos contando Java para terminar en el carácter en la posición 2 de la cadena. Como no se puede pasar de la posición 6 hacia atrás a la posición 2 se produce un error en su lugar.
(NOTA: Si inicia el recuento a 0 en la cadena "Bill", se podría pensar que la posición 2 es la letra "L" y estaríamos en lo cierto, pero subcadena comienza antes del carácter en esa posición, no después de ella.. .)
Para obtener la "Ga" de "puertas", por lo tanto, usted puede hacer esto:
FullName.substring (5, FullName.length () - 3);
El segundo número es ahora la longitud de la cadena menos 3 caracteres. La longitud de una cadena es el número de caracteres que tiene. "Bill Gates" tiene 10 caracteres, incluyendo el espacio. Quita 3 y tiene 7. Así que estamos diciendo subcadena que empezar por el carácter 5 y finalizará a las 7 caracteres.
Y eso iba a funcionar perfectamente bien para las personas llamadas "Bill Gates". Pero el programa no funcionaría si nombre era, digamos, "Billy puertas". El código anterior sería luego tomar el carácter de espacio más la letra "G", que no es lo que queremos en absoluto. Queremos que el programa funcione lo que se introducen dos nombres. Así que tenemos que ser un poco inteligente.
Una cosa que podemos hacer es tener en cuenta la posición del espacio en los dos nombres. Los 2 personajes que queremos agarrar a partir del segundo nombre siempre vienen justo después de que el carácter de espacio. Queremos un código que agarra los dos primeros caracteres después del espacio.
Podemos utilizar indexOf señalar la posición del espacio:
int spacePos = FullName.indexOf ("");
Para especificar un carácter de espacio puede escribir un espacio entre dos comillas dobles (o comillas simples). Esto entonces va entre los paréntesis de indexOf. El valor devuelto será un entero, y es la posición de la primera aparición del carácter de espacio en el NombreCompleto cadena.
Pruebe a cabo mediante la adición de la línea anterior a su código: Agregar una línea de impresión para comprobar la salida:
Java de código subcadena - ejemplo 2
Ejecute el programa para ver la siguiente salida:
Salida Subcadena 2
Así que el espacio está en la posición 4 de la cadena. Podemos utilizar este hecho para apoderarse de los dos primeros caracteres de "Puertas", o de hecho cualquier segundo nombre.Le decimos a Java para ir desde el primer carácter después del espacio, y terminar en los próximos dos personajes:
FullName.substring (spacePos + 1, (spacePos + 1) + 2)
Así que los dos números entre los paréntesis de la subcadena son los siguientes:
spacePos + 1, (spacePos + 1) + 2
Queremos empezar en el primer carácter después del espacio (espacio + 1), y poner fin a dos personajes después de esta posición, que es (spacePos + 1) + 2.
Añada las siguientes líneas a su código (Los resaltados Nuestro nuevo método substring derrama en dos líneas, pero usted puede mantener su en uno, si lo prefiere.):
Java de código subcadena - ejemplo 3
Al ejecutar el programa, la ventana de resultados es la siguiente:
Salida Subcadena 3
Así que ahora tenemos el "Bi" de Bill y la "Ga" de Gates. Lo que ahora tenemos que hacer es conseguir el resto de los personajes de los dos nombres y, a continuación, intercambiar a su alrededor.
Una vez más, podemos usar subcadena para obtener los caracteres restantes del primer nombre:
OtherFirstChars String = "";
OtherFirstChars = FullName.substring (2, spacePos);
System.out.println (OtherFirstChars);
Y los caracteres de la segunda el nombre restante:
OtherSurNameChars String = "";
OtherSurNameChars = FullName.substring ((spacePos + 1) + 2,
FullName.length ());
System.out.println (OtherSurNameChars);
No los números en entre los paréntesis de la subcadena. Para obtener los otros personajes nombre, los números son los siguientes:
2, spacePos
Esto le indica a Java para comenzar en la posición 2, y vaya a la derecha hasta la posición del espacio. Para obtener el resto del segundo nombre, sin embargo, que es un poco poco más complicado:
(spacePos + 1) + 2, FullName.length ()
El (spacePos1 + 1) + 2 es la posición de partida de la tercera carácter del segundo nombre.Queremos poner fin a la longitud de la cadena, que nos llevará el resto de los personajes.
Agregue la siguiente a su código (resaltado):
Java de código subcadena - ejemplo 4
La salida es la siguiente:
Salida Subcadena 4
Ahora tenemos todas las partes del nombre. Para unirse a ellos juntos, podemos utilizar la concatenación:
Java de código subcadena - ejemplo 5
Añadir las nuevas líneas a su propio código. Al ejecutar el programa, la ventana de resultados debe mostrar lo siguiente:
Salida Subcadena 5
Podemos deshacernos de las líneas de impresión, sin embargo, e invitar a un usuario que introduzca un nombre y segundo nombre. Aquí está el nuevo programa (la única adición es la entrada de teclado, que usted ha utilizado antes):
Java de código subcadena - ejemplo 6
La ventana de salida debe ser algo como esto, cuando se ejecuta el programa e introduzca un nombre y apellido:
Salida Subcadena 6
Debemos, por supuesto, añadir un poco de comprobación de errores. Pero vamos a suponer que el usuario puede introducir un nombre y apellido, con un espacio entre los dos. Si no es así, el programa se colgará! Vamos a seguir adelante, sin embargo, y echar un vistazo a la igualesmétodo.