Beruflich Dokumente
Kultur Dokumente
La clase Scanner está disponible a partir de Java 5 y facilita la lectura de datos en los
programas Java.
Primero veremos varios ejemplos de lectura de datos en Java con Scanner y
después explicaremos en detalle cómo funciona.
Para utilizar Scanner en el programa tendremos que hacer lo siguiente:
1. Escribir el import
La clase Scanner se encuentra en el paquete java.util por lo tanto se debe incluir al
inicio del programa la instrucción:
import java.util.Scanner;
2. Crear un objeto Scanner
Tenemos que crear un objeto de la clase Scanner asociado al dispositivo de entrada.
Ejemplos de lectura:
Para leer podemos usar el método nextXxx() donde Xxx indica en tipo, por ejemplo
nextInt() para leer un entero, nextDouble() para leer un double, etc.
Ejemplo de lectura por teclado de un número entero:
int n;
System.out.print("Introduzca un número entero: ");
n = sc.nextInt();
import java.util.Scanner;
public class Radio {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //crear un objeto Scanner
String nombre;
double radio;
int n;
System.out.print("Introduzca su nombre: ");
nombre = sc.nextLine(); //leer un String
System.out.println("Hola " + nombre + "!!!");
System.out.print("Introduzca el radio de la circunferencia: ");
radio = sc.nextDouble(); //leer un double
System.out.println("Longitud de la circunferencia: " + 2*Math.PI*radio);
System.out.print("Introduzca un número entero: ");
n = sc.nextInt(); //leer un entero
System.out.println("El cuadrado es: " + Math.pow(n,2));
}
}
12 20.001 Lucas w
12
20.001
Lucas
w
METODO DESCRIPCIÓN
nextXxx() Devuelve el siguiente token como un tipo básico. Xxx es el
tipo. Por ejemplo, nextInt() para leer un entero, nextDouble
para leer un double, etc.
next() Devuelve el siguiente token como un String.
nextLine() Devuelve la línea entera como un String. Elimina el final \n
del buffer
hasNext() Devuelve un boolean. Indica si existe o no un siguiente token
para leer.
hasNextXxx() Devuelve un boolean. Indica si existe o no un siguiente token
del tipo especificado en Xxx, por ejemplo hasNextDouble()
useDelimiter(String) Establece un nuevo delimitador de token.
n = sc.nextInt();
El método nextLine() extrae del buffer de entrada todos los caracteres hasta llegar a
un intro y elimina el intro del buffer.
En este caso asigna una cadena vacía a la variable nombre y limpia el intro. Esto
provoca que el programa no funcione correctamente, ya que no se detiene para que se
introduzca el nombre.
Solución:
sc.nextLine();
Lo podemos comprobar si cambiamos el orden de lectura del ejemplo y leemos el
nombre al final:
import java.util.Scanner;
public class JavaApplication335 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nombre;
double radio;
int n;
System.out.print("Introduzca el radio de la circunferencia: ");
radio = sc.nextDouble();
System.out.println("Longitud de la circunferencia: " + 2*Math.PI*radio);
System.out.print("Introduzca un número entero: ");
n = sc.nextInt();
System.out.println("El cuadrado es: " + Math.pow(n,2));
System.out.print("Introduzca su nombre: ");
nombre = sc.nextLine(); //leemos el String después del double
System.out.println("Hola " + nombre + "!!!");
}
}
sc.nextLine();
import java.util.Scanner;
public class JavaApplication335 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nombre;
double radio;
int n;
System.out.print("Introduzca el radio de la circunferencia: ");
radio = sc.nextDouble();
System.out.println("Longitud de la circunferencia: " + 2*Math.PI*radio);
System.out.print("Introduzca un número entero: ");
n = sc.nextInt();
System.out.println("El cuadrado es: " + Math.pow(n,2));
sc.nextLine();
System.out.print("Introduzca su nombre: ");
nombre = sc.nextLine();
System.out.println("Hola " + nombre + "!!!");
}
}
Ejemplo de programa Java con estructura secuencial: Programa que lee dos números
por teclado y los muestra por pantalla.
/* Programa que lea dos números por teclado y los muestre por pantalla.
*/
import java.util.*;
public class sumaEnteros {
public static void main(String[] args){
//declaración de variables
int n1, n2;
Scanner sc = new Scanner(System.in);
//leer el primer número
System.out.println("Introduce un número entero: ");
n1 = sc.nextInt(); //lee un entero por teclado
//leer el segundo número
System.out.println("Introduce otro número entero: ");
n2 = sc.nextInt(); //lee un entero por teclado
//mostrar resultado
Ejemplo de programa Java con estructura secuencial: Programa que lee dos números
de tipo double por teclado y calcula y muestra por pantalla su suma, resta y
multiplicación.
/*
* Programa que lee dos números de tipo double por teclado
* y muestra su suma, resta y multiplicación.
*/
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
double numero1, numero2;
System.out.println("Introduce el primer número:");
numero1 = sc.nextDouble();
System.out.println("Introduce el segundo número:");
numero2 = sc.nextDouble();
System.out.println("Números introducido: " + numero1 + " " +
numero2);
System.out.println
(numero1 + " + " + numero2 + " = " + (numero1+numero2));
System.out.println
(numero1 + " - " + numero2 + " = " + (numero1-numero2));
System.out.println
(numero1 + " * " + numero2 + " = " + numero1*numero2);
}
}
Para modificar el orden de ejecución de las instrucciones de un programa Java se
utilizan las estructuras condicionales y repetitivas.
Programa que lea una cantidad de grados centígrados y la pase a grados Fahrenheit.
La fórmula correspondiente es:
F = 32 + ( 9 * C / 5)
Programa que lee por teclado el valor del radio de una circunferencia y calcula y
muestra por pantalla la longitud y el área de la circunferencia.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double radio, longitud, area;
System.out.println("Introduce radio de la circunferencia:");
radio = sc.nextDouble();
longitud = 2 * Math.PI * radio;
area = Math.PI * Math.pow(radio, 2);
System.out.println("Longitud de la circunferencia -> " + longitud);
System.out.println("Area de la circunferencia -> " + area);
}
}
Programa que pase una velocidad en Km/h a m/s. La velocidad se lee por teclado.
import java.util.*;
public class Main {
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
8
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
Programa que tome como dato de entrada un número que corresponde a la longitud
del radio una esfera y nos calcula y escribe el volumen de la esfera que se
corresponden con dicho radio.
Programa Java que calcule el área de un triángulo en función de las longitudes de sus
lados (a, b, c), según la siguiente fórmula:
Area = RaizCuadrada(p*(p-a)*(p-b)*(p-c))
donde p = (a+b+c)/2
Para calcular la raíz cuadrada se utiliza el método Math.sqrt()
Programa que calcule el área de un triángulo en función de las longitudes de sus lados
(a, b, c)
* según la siguiente fórmula: area=raiz2(p(p-a)(p-b)(p-c)) donde p = (a+b+c)/2
*/
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
9
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
double a,b,c,p;
System.out.print("Introduzca longitud del primer lado del triángulo: ");
a = sc.nextDouble();
System.out.print("Introduzca longitud del segundo lado del triángulo: ");
b = sc.nextDouble();
System.out.print("Introduzca longitud del tercer lado del triángulo: ");
c = sc.nextDouble();
p = (a+b+c)/2;
System.out.println("Area -> " + Math.sqrt(p*(p-a)*(p-b)*(p-c)));
}
}
Programa lea la longitud de los catetos de un triángulo rectángulo y calcule la longitud
de la hipotenusa según el teorema de Pitágoras.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double cateto1, cateto2;
System.out.print("Introduzca longitud del primer cateto: ");
cateto1 = sc.nextDouble();
System.out.print("Introduzca longitud del segundo cateto: ");
cateto2 = sc.nextDouble();
System.out.println("Hipotenusa -> " + Math.sqrt(Math.pow(cateto1,2)+
Math.pow(cateto2, 2)));
}
}
2.1 INSTRUCCION if
Puede ser del tipo:
- Condicional simple: if
- Condicional doble: if ... else ...
- Condicional múltiple: if .. else if ..
La condición debe ser una expresion booleana es decir debe dar como resultado un
valor booleano (true ó false).
Condicional simple: se evalúa la condición y si ésta se cumple se ejecuta una
determinada acción o grupo de acciones. En caso contrario se saltan dicho grupo de
acciones.
if(expresión_booleana){
instrucción 1
instrucción 2
.......
}
Si el bloque de instrucciones tiene una sola instrucción no es necesario escribir las
llaves { } aunque para evitar confusiones se recomienda escribir las llaves siempre.
Ejemplo de programa Java con estructura condicional: Programa que pide por teclado
la nota obtenida por un alumno y muestra un mensaje si el alumno ha aprobado.
/*
* Programa que pide una nota por teclado y muestra un mensaje si la nota es
* mayor o igual que 5
*/
import java.util.*;
public class Ejemplo0If {
public static void main( String[] args ){
Scanner sc = new Scanner( System.in );
System.out.print("Nota: ");
int nota = sc.nextInt();
if (nota >5 ){
System.out.println("En horabuena!!");
System.out.println("Has aprobado");
}
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
11
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
}
}
Condicional doble: Se evalúa la condición y si ésta se cumple se ejecuta una
determinada instrucción o grupo de instrucciones. Si no se cumple se ejecuta otra
instrucción o grupo de instrucciones.
if(expresión booleana){
instrucciones 1
}
else{
instrucciones 2
}
Ejemplo de programa Java que contiene una estructura condicional doble: Programa
que lee la nota de un alumno y muestra si el alumno ha aprobado o no.
/*
* Programa que pide una nota por teclado y muestra si se ha aprobado o no
*/
import java.util.*;
public class Ejemplo0If {
public static void main( String[] args ){
Scanner sc = new Scanner( System.in );
System.out.print("Nota: ");
int nota = sc.nextInt();
if (nota >= 5 ){
System.out.println("En horabuena!!");
System.out.println("Has aprobado");
}
else
System.out.println("Lo Siento, has suspendido");
}
}
Otro ejemplo de programa Java que contiene una estructura condicional doble:
Calcular si un número es par. El programa lee un número por teclado y muestra un
mensaje indicando si es par o impar.
/*
* programa que pide un número por teclado y calcula si es par o impar
*/
import java.util.*;
public class EjemploIf {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
12
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
Ejemplo de programa Java que contiene una estructura condicional múltiple: Programa
que lee una hora (número entero) y muestra un mensaje según la hora introducida.
/*
* Programa que muestra un saludo distinto según la hora introducida
*/
import java.util.*;
public class Ejemplo2If {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hora;
System.out.println("Introduzca una hora (un valor entero): ");
hora = sc.nextInt();
if (hora >= 0 && hora < 12)
System.out.println("Buenos días");
else if (hora >= 12 && hora < 21)
System.out.println("Buenas tardes");
else if (hora >= 21 && hora < 24)
System.out.println("Buenas noches");
else
System.out.println("Hora no válida");
}
}
Ejemplo de programa Java que contiene una estructura condicional múltiple: Programa
que lee una nota (número entero entre 0 y 10) y muestra la calificación equivalente en
forma de texto.
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
13
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
/*
* programa que lee una nota y escribe la calificación correspondiente
*/
import java.util.*;
public class Ejemplo3If {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double nota;
System.out.println("Introduzca una nota entre 0 y 10: ");
nota = sc.nextDouble();
System.out.println("La calificación del alumno es ");
if(nota < 0 || nota > 10)
System.out.println("Nota no válida");
else if(nota==10)
System.out.println("Matrícula de Honor");
else if (nota >= 9)
System.out.println("Sobresaliente");
else if (nota >= 7)
System.out.println("Notable");
else if (nota >= 6)
System.out.println("Bien");
else if (nota >= 5)
System.out.println("Suficiente");
else
System.out.println("Suspenso");
}
}
Descuento…………………………………………………. 20%
Total………………………………………………………….. 8000
break;
case 2: System.out.println("FEBRERO");
break;
case 3: System.out.println("MARZO");
break;
case 4: System.out.println("ABRIL");
break;
case 5: System.out.println("MAYO");
break;
case 6: System.out.println("JUNIO");
break;
case 7: System.out.println("JULIO");
break;
case 8: System.out.println("AGOSTO");
break;
case 9: System.out.println("SEPTIEMBRE");
break;
case 10: System.out.println("OCTUBRE");
break;
case 11: System.out.println("NOVIEMBRE");
break;
case 12: System.out.println("DICIEMBRE");
break;
default : System.out.println("Mes no válido");
}
}
}
Ejemplo de programa Java que contiene una una instrucción switch: Programa que lee
dos números enteros por teclado y un operador (de tipo carácter) y muestra el
resultado de la operación.
/*
*/
import java.util.*;
import java.io.*;
char operador;
A = sc.nextInt();
B = sc.nextInt();
operador = (char)System.in.read();
switch (operador) {
break;
break;
break;
Resultado = A / B;
else{
calculado = false;
break;
calculado = false;
}
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
17
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
if(calculado){
/*
*/
import java.util.*;
int num;
num = sc.nextInt();
1. Se evalúa la condición.
2. Si el resultado es false las instrucciones no se ejecutan y el programa sigue
ejecutándose por la siguiente instrucción a continuación del while.
3. Si el resultado es true se ejecutan las instrucciones y se vuelve al paso 1
}
Ejemplo de programa Java que contiene una instrucción while:
Programa que lee un número entero N y muestra N asteriscos.
/*
* programa que lee un número n y muestra n asteriscos
*/
import java.util.*;
public class Ejemplo2While {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n, contador = 0;
System.out.print("Introduce un número: ");
n = sc.nextInt();
while (contador < n){
System.out.println(" * ");
contador++;
}
}
}
Ejemplo de programa Java con una instrucción while:
/*
* programa que muestra una tabla de equivalencias entre
* grados Fahrenheit y grados celsius
*/
public class Ejemplo3While {
public static void main(String[] args) {
final int VALOR_INICIAL = 10; // limite inf. tabla
final int VALOR_FINAL = 100; // limite sup. tabla
final int PASO = 10 ; // incremento
int fahrenheit;
double celsius;
fahrenheit = VALOR_INICIAL;
System.out.printf("Fahrenheit \t Celsius \n");
while (fahrenheit <= VALOR_FINAL ){
celsius = 5*(fahrenheit - 32)/9.0;
System.out.printf("%7d \t %8.3f \n", fahrenheit, celsius);
fahrenheit += PASO;
}
}
}
/*
* Programa que obliga al usuario a introducir un número menor que 100
*/
import java.util.*;
public class Ejemplo1DoWhile {
public static void main(String[] args) {
int valor;
Scanner in = new Scanner( System.in );
do {
System.out.print("Escribe un entero < 100: ");
valor = in.nextInt();
}while (valor >= 100);
System.out.println("Ha introducido: " + valor);
}
}
Ejemplo de programa Java con una instrucción do while:
/*
* Programa que lee un número entre 1 y 10 ambos incluidos
*/
import java.util.*;
public class Ejemplo2DoWhile {
public static void main(String[] args) {
int n;
Scanner sc = new Scanner( System.in );
do {
System.out.print("Escribe un número entre 1 y 10: ");
n = sc.nextInt();
}while (n<1 || n >10);
System.out.println("Ha introducido: " + n);
}
}
3.3 CICLO FOR
}
La salida de este programa es:
a=1 b=1 a+b=2
a=2 b=3 a+b=5
a=3 b=5 a+b=8
Aunque la instrucción repetitiva for, al igual que las instrucciones while y do- while, se
puede utilizar para realizar repeticiones cuando no se sabe a priori el número de
pasadas por el bucle, esta instrucción es especialmente indicada para bucles donde se
conozca el número de pasadas.
Como regla práctica podríamos decir que las instrucciones while y do-while se utilizan
generalmente cuando no se conoce a priori el número de pasadas, y la instrucción for
se utiliza generalmente cuando sí se conoce el número de pasadas.
Se ha de tener cuidado con escribir el punto y coma (;) después del paréntesis final del
bucle for. Un bucle for generalmente no lleva punto y coma final.
Por ejemplo el bucle:
int i;
for (i = 1; i <= 10; i++);
{
System.out.println("Elementos de Programación");
}
no visualiza la frase "Elementos de Programación" 10 veces, ni produce un mensaje de
error por parte del compilador.
En realidad lo que sucede es que se visualiza una vez la frase "Elementos de
Programación", ya que aquí la sentencia for es una sentencia vacía al terminar con un
punto y coma (;).
La sentencia for en este caso hace que i empiece en 1 y acabe en 11 y tras esas
iteraciones, se ejecuta la sentencia
System.out.println("Elementos de Programación");
3.4 BUCLES INFINITOS EN JAVA
Java permite la posibilidad de construir bucles infinitos, los cuales se ejecutarán
indefinidamente, a no ser que provoquemos su interrupción. Tres ejemplos:
for(;;){
instrucciones
}
for(;true;){
instrucciones
}
while(true){
instrucciones
}
Debemos tener en cuenta que las variables de control que utilicemos deben ser
distintas.
Los anidamientos de estructuras tienen que ser correctos, es decir, que una estructura
anidada dentro de otra lo debe estar totalmente.
Ejemplo de programa Java con bucles anidados:
/*
* Programa que dibuja un rectángulo sólido de asteriscos.
* El número de filas y columnas se pide por teclado
*/
import java.util.*;
public class Ejemplo1BuclesAnidados {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int filas, columnas;
//leer número de filas hasta que sea un número > 0
do{
System.out.print("Introduce número de filas: ");
filas = sc.nextInt();
}while(filas<1);
//leer número de columnas hasta que sea un número > 0
do{
System.out.print("Introduce número de columnas: ");
columnas = sc.nextInt();
}while(columnas<1);
for(int i = 1; i<=filas; i++){ //filas
for(int j = 1; j<=columnas; j++){ //columnas
System.out.print(" * ");
}
System.out.println();
}
}
}
Swing - JFrame
La componente básica que requerimos cada vez que implementamos una interfaz
visual con la libraría Swing es la clase JFrame. Esta clase encapsula una Ventana
clásica de cualquier sistema operativo con entorno gráfico (Windows, OS X, Linux
etc.)
Hemos dicho que esta clase se encuentra en el paquete javax.swing y como
generalmente utilizamos varias clases de este paquete luego para importarla
utilizamos la sintaxis:
import javax.swing.*;
Podemos hacer una aplicación mínima con la clase JFrame:
import javax.swing.JFrame;
10. formulario1.setBounds(0,0,1024,800);
11. formulario1.setResizable(false);
12. formulario1.setVisible(true);
13. }
14. }
Swing - JButton
El tercer control visual de uso muy común es el que provee la clase JButton. Este
control visual muestra un botón.
El proceso para añadir botones a un control JFrame es similar a añadir controles
de tipo JLabel.
Ahora veremos la captura de eventos con los controles visuales. Uno de los
eventos más comunes es cuando hacemos clic sobre un botón.
Java implementa el concepto de interfaces para poder llamar a métodos de una
clase existente a una clase desarrollada por nosotros
Problema 1:
Programa:
import javax.swing.*;
import java.awt.event.*;
public class Formulario extends JFrame implements
ActionListener {
JButton boton1;
public Formulario() {
setLayout(null);
boton1=new JButton("Finalizar");
boton1.setBounds(300,250,100,30);
add(boton1);
boton1.addActionListener(this);
}
if (e.getSource()==boton1) {
System.exit(0);
}
}
Problema 2:
Confeccionar una ventana que contenga tres objetos de la clase JButton con las
etiquetas "1", "2" y "3". Al presionarse cambiar el título del JFrame indicando cuál
botón se presionó.
Problemas propuestos
1. Disponer dos objetos de la clase JButton con las etiquetas: "varón" y "mujer", al
presionarse mostrar en la barra de títulos del JFrame la etiqueta del botón
presionado.
import javax.swing.*;
import java.awt.event.*;
public class Formulario extends JFrame implements
ActionListener{
private JButton boton1,boton2;
public Formulario() {
setLayout(null);
boton1=new JButton("Varón");
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
32
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
boton1.setBounds(10,10,100,30);
boton1.addActionListener(this);
add(boton1);
boton2=new JButton("Mujer");
boton2.setBounds(10,70,100,30);
boton2.addActionListener(this);
add(boton2);
}
Swing - JLabel
Veamos la segunda componente de la librería swing llamada JLabel.
La clase JLabel nos permite mostrar básicamente un texto.
Problema 1:
Programa:
import javax.swing.*;
public class Formulario extends JFrame {
private JLabel label1,label2;
public Formulario() {
setLayout(null);
label1=new JLabel("Sistema de
Facturación.");
label1.setBounds(10,20,300,30);
add(label1);
label2=new JLabel("Vesion 1.0");
label2.setBounds(10,100,100,30);
add(label2);
}
Swing - JTextField
Así como podríamos decir que el control JLabel remplaza a la salida estándar
System.out.print, el control JTextField cumple la función de la clase Scanner para
la entrada de datos.
El control JTextField permite al operador del programa ingresar una cadena de
caracteres por teclado.
Problema 1:
Programa:
import javax.swing.*;
import java.awt.event.*;
public class Formulario extends JFrame implements
ActionListener{
private JTextField textfield1;
private JLabel label1;
private JButton boton1;
public Formulario() {
setLayout(null);
label1=new JLabel("Usuario:");
label1.setBounds(10,10,100,30);
add(label1);
textfield1=new JTextField();
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
36
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
textfield1.setBounds(120,10,150,20);
add(textfield1);
boton1=new JButton("Aceptar");
boton1.setBounds(10,80,100,30);
add(boton1);
boton1.addActionListener(this);
}
Problema 2:
Programa:
import javax.swing.*;
import java.awt.event.*;
public class Formulario extends JFrame implements
ActionListener{
private JTextField textfield1,textfield2;
private JButton boton1;
public Formulario() {
setLayout(null);
textfield1=new JTextField();
textfield1.setBounds(10,10,100,30);
add(textfield1);
textfield2=new JTextField();
textfield2.setBounds(10,50,100,30);
add(textfield2);
boton1=new JButton("Sumar");
HELIODORO JIMENEZ SANCHEZ - ING. EN SISTEMAS COMPUTACIONALES.
38
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC, A.C.
boton1.setBounds(10,90,100,30);
add(boton1);
boton1.addActionListener(this);
}
Una vez que tenemos los dos valores en formato numérico procedemos a
sumarlos y almacenar el resultado en otra variable auxiliar:
int suma=x1+x2;
Ahora tenemos que mostrar el valor almacenado en suma en la barra de títulos del
control JFrame, pero como el método setTitle requiere un String como parámetro
debemos convertirlo a tipo String:
String total=String.valueOf(suma);
setTitle(total);
Como veremos de acá en adelante es muy común la necesidad de convertir String
a enteros y enteros a String:
De String a int:
int x1=Integer.parseInt(cad1);
De int a String:
String total=String.valueOf(suma);
Problemas propuestos
1. Ingresar el nombre de usuario y clave en controles de tipo JTextField. Si se
ingresa las cadena (usuario: juan, clave=abc123) luego mostrar en el título del
JFrame el mensaje "Correcto" en caso contrario mostrar el mensaje "Incorrecto".
2. import javax.swing.*;
3. import java.awt.event.*;
4. public class Formulario extends JFrame implements
ActionListener {
5. private JLabel label1,label2;
6. private JTextField textfield1,textfield2;
7. private JButton boton1;
8. public Formulario() {
9. setLayout(null);
10. label1=new JLabel("Nombre:");
11. label1.setBounds(10,10,100,30);
12. add(label1);
13. label2=new JLabel("Clave:");
14. label2.setBounds(10,50,100,30);
15. add(label2);
16. textfield1=new JTextField();
17. textfield1.setBounds(130,10,100,30);
18. add(textfield1);
19. textfield2=new JTextField();
20. textfield2.setBounds(130,50,100,30);
21. add(textfield2);
22. boton1=new JButton("Confirmar");
23. boton1.setBounds(10,100,100,30);
24. add(boton1);
25. boton1.addActionListener(this);
26. }
27.
28. public void actionPerformed(ActionEvent e) {
29. if (e.getSource()==boton1) {
30. String cad1=textfield1.getText();
31. String cad2=textfield2.getText();
32. if (cad1.equals("juan")==true &&
cad2.equals("abc123")==true) {
33. setTitle("Correcto");
34. } else {
35. setTitle("Incorrecto");
36. }
37. }
38. }
39.
40. public static void main(String[] ar) {
41. Formulario formulario1=new Formulario();
42. formulario1.setBounds(0,0,240,200);
43. formulario1.setVisible(true);
44. }
45. }
/**
*/
int i=1;
boolean b = (i != 0);
System.out.println(b);
int n=4;
double total=1;
total*=i;
int k=6;
arr2[i][j]=k--;
System.out.print(arr2[i][j]+"");
System.out.println();
**********
// 0 1
//0-6 5
//1-4-3
//2-2-1
int k=6;
arr2[i][j]=k--;
//System.out.print(arr2[i]+printarr2[j]+"");
System.out.print(arr2[i][j]+"");
// System.out.print(arr2[j]);
System.out.println();