Logo Studenta

Programacion_en_Java

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD DE EL SALVADOR 
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS 
PROGRAMACION II (Sistemas) 
 
Gu“a de Laboratorio N° 5 
PROGRAMACION EN JAVAPROGRAMACION EN JAVAPROGRAMACION EN JAVAPROGRAMACION EN JAVA 
 
INICIANDO CON NETBEANSINICIANDO CON NETBEANSINICIANDO CON NETBEANSINICIANDO CON NETBEANS 
NetBeans es un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés), que permite crear 
varios tipos de proyectos. Algunos de estos tipos son: 
1. Aplicaciones Java de escritorio 
2. Aplicaciones Web 
3. Aplicaciones empresariales 
4. Aplicaciones PHP 
5. Aplicaciones C y C++ 
 
Iniciaremos con aplicaciones de escritorio, tanto en modo texto como utilizando cuadros de diálogo. 
Para ello, haga clic en el “cono de Nuevo proyecto . Esta opción abrirá una ventana en la que se 
debe elegir como categor“a Java y Aplicación Java como tipo de proyecto. 
Al hacer clic en el botón siguiente, aparece una ventana donde habrá que darle un nombre al 
proyecto, la ubicación, y especificar si queremos que NetBeans cree la clase que será la clase 
principal del proyecto, y si deseamos que el proyecto sea el principal. 
 
 
EJEEJEEJEEJEMPLMPLMPLMPLOSOSOSOS 
Para cada uno de los siguientes ejemplos, cree un proyecto en Java en el que deberá agregar el 
código en la clase de aplicación (NOTANOTANOTANOTA: Algunas instrucciones aparecen escritas en dos l“neas, 
cuando escriba el código deberá escribirlo en una sola l“nea). 
1. Sumatoria de dos números enteros 
import java.util.Scanner; 
 
public class Sumatoria { 
 
 public static void main(String[] args) { 
 
 int n1, n2; 
 
 Scanner entrada = new Scanner(System.in); 
 
 System.out.println("Bienvenido"); 
 System.out.println("Ingrese 2 número enteros separados por un 
 espacio para sumarlos:"); 
 
 n1 = entrada.nextInt(); 
 n2 = entrada.nextInt(); 
 
 System.out.print("La suma de los dos números es: "); 
 System.out.println(n1 + n2); 
 } 
} 
 
 
2. Cálculo de impuestos a una venta 
import javax.swing.JOptionPane; 
 
public class Impuesto { 
 
 public static void main(String[] args){ 
 final double IVA = 0.13; 
 final double IMPUESTO_ESPECIAL = 0.12; 
 
 double venta = Double.parseDouble(JOptionPane.showInputDialog 
 ("Ingrese la cantidad a gravar")); 
 
 double valorGravado = venta + (venta * IVA) + 
 (venta * IMPUESTO_ESPECIAL); 
 
 JOptionPane.showMessageDialog(null, 
 "El total a pagar es: " + valorGravado); 
 } 
} 
 
 
3. Calcula cifras en un entero 
import java.util.Scanner; 
 
public class CalculaCifras { 
 
 //Divide un número sucesivamente hasta conseguir 
 //el número de cifras que tiene. Por ejemplo si se 
 //introduce el número 3454 el programa devolverá un 4. 
 
 
 static int calcularCifras(int x){ 
 int total=0; 
 
 while(x!=0){ 
 x=x/10; // división entera 
 total+=1; // incrementar contador 
 } 
 return total; 
 } 
 
 public static void main(String[]args) { 
 //Scanner para leer de consola 
 Scanner sc = new Scanner(System.in); 
 int a; 
 
 System.out.println("Introduzca un valor entero:"); 
 a = sc.nextInt(); // Se lee el valor 
 System.out.println("El número de cifras es:"); 
 System.out.println(calcularCifras(a)); 
 } 
} 
 
4. Lectura de números enteros, reales e impresión de salida con formato. 
import java.util.Scanner; 
 
 
 
public class EntradaSalida { 
 public static void main(String[] args){ 
 Scanner entrada = new Scanner(System.in); 
 int numero1, numero2, suma; 
 double base, exponente, resultado; 
 
 System.out.println("CALCULAR SUMA DE ENTEROS"); 
 System.out.print("Escriba el primer número entero: "); 
 numero1 = entrada.nextInt(); 
 System.out.print("Escriba el segundo número entero: "); 
 numero2 = entrada.nextInt(); 
 
 suma = numero1 + numero2; 
 
 System.out.printf("%s %d \n\n","La suma es: ",suma); 
 
 System.out.println("CALCULAR POTENCIA DE REALES"); 
 System.out.print("Escriba la base: "); 
 base = entrada.nextDouble(); 
 System.out.print("Escriba el exponente: "); 
 exponente = entrada.nextDouble(); 
 resultado = Math.pow(base, exponente); 
 
 System.out.printf("%s %.2f \n\n","La potencia es: ",resultado); 
 } 
} 
 
 
5. Lectura en modo gráfico y operadores relacionales. 
import javax.swing.JOptionPane; 
public class LecturaGrafica { 
 
 public static void main(String[] args){ 
 double valor1, valor2; 
 
 valor1 = Double.parseDouble(JOptionPane.showInputDialog("Ingrese 
un valor real:")); 
 valor2 = Double.parseDouble(JOptionPane.showInputDialog("Ingrese 
otro valor real:")); 
 
 if (valor1 == valor2) 
 JOptionPane.showMessageDialog(null,valor1+" == "+valor2); 
 else 
 JOptionPane.showMessageDialog(null,valor1+" NO es igual que 
"+valor2); 
 
 if (valor1 != valor2) 
 JOptionPane.showMessageDialog(null,valor1+" != "+valor2); 
 else 
 JOptionPane.showMessageDialog(null,valor1+" NO es distinto de 
"+valor2); 
 
 if (valor1 < valor2) 
 JOptionPane.showMessageDialog(null,valor1+" es menor que 
"+valor2); 
 else 
 if (valor2 < valor1) 
 
 JOptionPane.showMessageDialog(null,valor2+" es menor que 
"+valor1); 
 else 
 JOptionPane.showMessageDialog(null,valor1+" No es menor ni 
mayor que "+valor2); 
 
 System.exit(0); 
 } 
} 
 
6. Constructores de objetos de tipo String y vectores de caracteres. 
import javax.swing.*; 
public class GuiaLab1d { 
 public static void main( String args[] ){ 
 char arregloChar[] = { 'e','s','t','a',' ','e','s',' ', 
 'l','a',' ','c','l','a','s','e'}; 
 byte arregloByte[] = { ( byte ) 'm', ( byte ) 'a', 
 ( byte ) 'y', (byte) 'o', ( byte ) ' ', 
 ( byte ) '2', ( byte ) '0', ( byte ) '1', 
 (byte) '4' }; 
 String s = new String( "PRN215" ); 
 String s1 = new String(); 
 String s2 = new String( s ); 
 String s3 = new String( arregloChar ); 
 String s4 = new String( arregloChar, 4, 3 ); 
 String s5 = new String( arregloByte, 0, 4 ); 
 String s6 = new String( arregloByte ); 
 
 String salida = "s1 = " + s1 + "\ns2 = " + s2 + "\ns3 = " + s3 + 
 "\ns4 = " + s4 + "\ns5 = " + s5 + "\ns6 = " + s6; 
 JOptionPane.showMessageDialog(null,salida,"Resultados", 
 JOptionPane.INFORMATION_MESSAGE ); 
 System.exit(0); 
 } 
} 
 
7. Ejemplo de métodos de la clase String. 
public class EjemploString { 
 
 public static void main( String args[] ){ 
 System.out.println ("Ejemplo de uso de length"); 
 int i; 
 String str="Hola Mundo"; 
 i=str.length(); // retorna 10 
 System.out.println("Longitud de cadena \""+str+"\" es: "+i); 
 
 System.out.println ("Ejemplo de uso de valueOf"); 
 i=65; 
 float j=590; 
 double l=1E10; 
 str=String.valueOf(i); //str queda igual "65" 
 System.out.println(str); 
 str=String.valueOf(j); //str queda igual "590.0" 
 System.out.println(str); 
 
 str=String.valueOf(l); //str queda igual "1E10" 
 System.out.println(str); 
 
 System.out.println("Ejemplo de uso de charAt"); 
 str="Hola mundo"; 
 System.out.println(str.charAt(0));// retorna H 
 System.out.println(str.charAt(4));// retorna " " 
 System.out.println(str.charAt(8));// retorna d 
 //System.out.println(str.charAt(10)); // se produce una excepcion 
pues el ultimo 
 // caracter del string ocupa 
la posicion 9 
 
 boolean valor; 
 System.out.println ("Ejemplo de uso de equals"); 
 str="hola mundo"; 
 valor=str.equals("Chao"); // retorna false ,pues str es distinto 
de "Chao" 
 if (valor) 
 System.out.println("son iguales"); 
 else 
 System.out.println("son diferentes"); 
 
 System.out.println ("Ejemplo de uso de equals ignorando 
mayusculas"); 
 str="HoLa MuNdo"; 
 valor=str.equalsIgnoreCase("hOLa mUnDO"); // retorna true,pues 
compara los caracteres 
 if (valor) 
 
 // ignorando las mayusculas 
 System.out.println("son iguales"); 
 else 
 System.out.println("son diferentes"); 
 
 
 System.out.println ("Ejemplo de uso de regionMatches"); 
 str="Hola Mundo"; 
 valor= str.regionMatches(5,"Mundial",0,4);// retorna true, pues se 
compara el string 
 if (valor) // str desde la posicion 5 con el string 
 System.out.println("Substring concuerdan"); // 
"Mundial",desde la posicion 0, tomando 
 else // en cuenta los 4 primeros 
caracteres de 
 System.out.println("No concuerdan"); // cada 
substring...luego "Mund"=="Mund" 
 
 
 System.out.println ("Ejemplo de uso de endsWith"); 
 str="Hola Mundo"; 
 valor= str.endsWith("ndo"); // retorna true, pues ndo es sufijo de 
str 
 if (valor) 
 System.out.println("Substring concuerdan"); 
 else 
 System.out.println("No concuerdan"); 
 
 System.out.println ("Ejemplo de uso de indexOf"); 
 
 str="Hola Mundo"; 
 i= str.indexOf(97); // retorna 3, pues el numero 97 representa al 
codigo 
 System.out.println(i); // unicode "a", el que esta en la 
posicion 3 
 i= str.indexOf(100); // retorna 8, pues el numero 100 representa 
al codigo 
 System.out.println(i); // unicode "d", el que esta en la 
posicion 8 
 i= str.indexOf(98); // retorna -1, pues el numero 98 representa al 
codigo 
 System.out.println(i); // unicode "b", que no se encuentra en 
el string 
 
 String s; 
 System.out.println ("Ejemplo de uso de substring"); 
 str="Hola Mundo"; 
 s= str.substring(2); // retorna "la Mundo" 
 System.out.println(s); 
 s=str.substring(5); // retorna "Mundo" 
 System.out.println(s); 
 //s=str.substring(12); // retorna una excepcion pues 12 excede 
el largo del string 
 System.out.println(s); 
 
 System.out.println ("Ejemplo de uso de trim"); 
 str="Hola Mundo "; 
 str=str.trim(); // str queda como "Hola Mundo", pues se 
eliminan los 
 System.out.print(str + "."); // espacios al finalprintln 
("Ejemplo de uso de trim"); 
 
 str="Hola Mundo "; 
 str=str.trim(); // str queda como "Hola Mundo", pues se 
eliminan los 
 System.out.print(str + "."); // espacios al final 
 
 System.out.println ("Ejemplo de uso de replace"); 
 str="Hela Munde"; 
 str=str.replace('e','o'); // str queda como "Hola Mundo" 
 System.out.println(str); 
 } 
} 
 
Ejemplo 8: Genera una matriz con el triangulo de pascal, dependiendo de la dimensión. 
import javax.swing.JOptionPane; 
 
public class TrianguloPascal { 
 public TrianguloPascal() { 
 } 
 public static void main (String args[]) { 
 String texto; 
 texto=""; 
 int max=Integer.parseInt(JOptionPane.showInputDialog(null, "Digite la dimencion del triangulo 
 de pascal; ")); 
 int [][] pascal=new int [max][max]; 
 
 for(int i=0;i<max-1;i++) { 
 for(int j=0;j<max-1;j++) { 
 if (j==0) { 
 pascal[i][j]=1; 
 } 
 
 pascal[i+1][j+1]=pascal[i][j]+pascal[i][j+1]; 
 } 
 if (i == max-2) 
 pascal[i+1][0]=1; 
 } 
 for(int i=0;i<pascal.length;i++) { 
 for(int j=0;j<pascal.length;j++) { 
 texto+=pascal[i][j]+ "\t"; 
 } 
 texto+="\n"; 
 } 
 System.out.print(texto); 
 } 
 } 
Ejemplo 9: Prueba las excepciones de división por cero y acceder una posición no disponible en un 
vector (Para probar la segunda excepción debe eliminar la instrucción de división por cero o 
comentarla). 
public class PruebaExcepciones { 
 public static void main(String args[]) { 
 int valor=5, cero=0; 
 int[] array = {1, 2, 3}; 
 try { 
 valor = valor/cero; //división por cero 
 array[4]= 5; //acceso a una posición no disponible 
 } 
 catch( ArithmeticException e ) { 
 System.out.println( "Sucedió una division por cero" ); 
 } 
 catch( Exception e ) { 
 System.out.println( "Se ha producido un error" ); 
 } } } 
 
 
 
EJERCICIOSEJERCICIOSEJERCICIOSEJERCICIOS 
 
1. Escriba un programa en Java que reciba a través de un cuadro de diálogo el radio de una 
circunferencia, calcule su área y su diámetro, y muestre los resultados en un cuadro de diálogo. 
2. Escriba un programa en Java que lea un entero y que determine e imprima si es par o impar. 
3. Escriba un programa en Java lea un entero y que determine si es o no un número primo. 
4. Escriba un programa en Java que reciba en modo texto (usando Scanner), un d“gito entero y que 
pruebe la conversión de dicho valor a todos los tipos de datos primitivos de Java que sea posible. 
Deber“a imprimir un mensaje mencionando las conversiones posibles. Utilice los métodos 
estáticos de la clase Integer. 
5. Escriba un programa en Java que permita calcular cualquiera de las siguientes operaciones 
matemáticas: ra“z cuadrada, potencia, logaritmo base 10, logaritmo natural, exponencial y 
redondeo al entero. 
6. Escriba un programa en Java que reciba en modo texto, un valor real y que pruebe la conversión 
de dicho valor a todos los tipos de datos primitivos de Java que sea posible. Deber“a imprimir un 
mensaje mencionando las conversiones posibles. Utilice los métodos estáticos de la clase Double. 
7. Escriba un programa en Java que declare una variable boolean y la inicialice con un valor lógico, 
luego que pruebe la conversión de dicho valor a todos los tipos de datos primitivos de Java que 
sea posible. Deber“a imprimir un mensaje mencionando las conversiones posibles. Utilice las 
funciones estáticas de la clase Boolean. 
8. Escriba un programa en Java que reciba un valor entero entre 1 y 999,999; y que muestre su 
valor en letras. 
9. Escriba un programa en Java que lea una cadena de caracteres conteniendo cualquier caracter 
del código Unicode, luego que imprima cada caracter de la cadena y su número de código 
Unicode equivalente. Nota: Puede usar la salida con formato. 
10. Escriba un programa en Java que lea los apellidos, el carnet de un alumno y el año de ingreso a 
la universidad. Luego determine si el carnet del alumno es válido. 
11. Escriba un programa en Java que lea una fecha en el formato dd/mm/aaaa , por ejemplo 
10/05/2014 , y que la imprima en el formato 10 de mayo de 2014 . 
 
12. Escriba un programa en java que pruebe las siguientes excepciones de Java: 
FileNotFoundException, ArrayIndexOutOfBoundsException y IOException. 
13. Crear una aplicación para buscarun número entero en una matriz, e imprimir la ubicación de 
dicho número. 
14. Crear una aplicación que busque el número más grande del vector de números reales e imprimir 
la posición que ocupa. 
15. Crear un vector para almacenar cualquier cantidad de números, e imprimir el mayor, menor, 
promedio y la lista ordenada de menor a mayor. 
16. Crear una aplicación en Java que incluya las siguientes funciones de manejo de vectores enteros y 
las compruebe en la función principal: 
a) public int cuentaCeros ( int Arr[ ] ) 
Recibe un arreglo de enteros y regresa el número de ceros que se encuentran dentro del arreglo. 
 
b) public int sumaPares ( int Arr[ ] ) 
Recibe un arreglo de enteros y regresa el resultado de sumar sólo los números pares que hay dentro 
del arreglo. 
c) public int cuentaRepeticiones ( int Arr[ ], int x ) 
Recibe un arreglo de enteros y un valor entero x. La función regresa el número de veces que se repite 
el valor de x en el arreglo. 
d) public void sustituye (int Arr[ ], int old, int new) 
Recibe un arreglo de enteros y dos valores enteros old y new. La función debe reemplazar todos los 
valores old del arreglo por el valor de new. 
e) public void intercambia(int A[ ], int i, int j) 
Recibe un arreglo de enteros y dos valores enteros que corresponden a dos posiciones del arreglo. La 
función intercambia los valores de las localidades i y j del arreglo. 
f) public void invierte(int Arr[ ]) 
Recibe un arreglo de enteros. La función invierte la secuencia de valores del arreglo. 
g) public int mayor(int A[ ],int inf, int sup) 
Recibe un arreglo de enteros y dos valores enteros inf y sup. La función regresa el mayor valor del 
arreglo dentro del rango definido por inf y sup. 
 
h) public int posMayor(intA[ ],int inf, int sup) 
Recibe un arreglo de enteros y dos valores enteros inf y sup. La función regresa la posición de la 
localidad que contiene al mayor valor del arreglo. 
i) public void ordena2(int A[ ]) 
Recibe un arreglo de enteros y la función ordena los valores del arreglo de mayor a menor. 
j) public boolean iguales(int A1[ ], int A2[ ]) 
Recibe dos arreglos de enteros y retorna true si los dos arreglos contienen la misma secuencia de 
valores y false de otra manera.

Continuar navegando

Materiales relacionados

320 pag.
Java_-_Jorge_Sanchez

ULT

User badge image

Manuel Rodrigues Monameo

207 pag.
Java-pdf

Albert Einstein

User badge image

FREDY PICHIHUA

49 pag.
Java

Albert Einstein

User badge image

FREDY PICHIHUA

37 pag.
Del-Curso-Java-Clases-Metodos

Albert Einstein

User badge image

FREDY PICHIHUA