16
1 UNIVERSIDAD DE EL SALVADOR ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS PROGRAMACION II (Sistemas) Guía de Laboratorio N° 5 PROGRAMACION EN JAVA PROGRAMACION EN JAVA PROGRAMACION EN JAVA PROGRAMACION EN JAVA INICIANDO CON NETBEANS INICIANDO CON NETBEANS INICIANDO CON NETBEANS INICIANDO 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.

GuiaLab5_ProgramacionEnJava

Embed Size (px)

DESCRIPTION

progra

Citation preview

Page 1: GuiaLab5_ProgramacionEnJava

1

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.

Page 2: GuiaLab5_ProgramacionEnJava

2

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);

}

}

Page 3: GuiaLab5_ProgramacionEnJava

3

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.

Page 4: GuiaLab5_ProgramacionEnJava

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;

Page 5: GuiaLab5_ProgramacionEnJava

5

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);

}

}

Page 6: GuiaLab5_ProgramacionEnJava

6

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)

Page 7: GuiaLab5_ProgramacionEnJava

7

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 );

Page 8: GuiaLab5_ProgramacionEnJava

8

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);

Page 9: GuiaLab5_ProgramacionEnJava

9

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)

Page 10: GuiaLab5_ProgramacionEnJava

10

// 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");

Page 11: GuiaLab5_ProgramacionEnJava

11

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");

Page 12: GuiaLab5_ProgramacionEnJava

12

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; }

Page 13: GuiaLab5_ProgramacionEnJava

13

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" ); } } }

Page 14: GuiaLab5_ProgramacionEnJava

14

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”.

Page 15: GuiaLab5_ProgramacionEnJava

15

12. Escriba un programa en java que pruebe las siguientes excepciones de Java:

FileNotFoundException, ArrayIndexOutOfBoundsException y IOException.

13. Crear una aplicación para buscar un 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.

Page 16: GuiaLab5_ProgramacionEnJava

16

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.