Está en la página 1de 12

Ejercicios Propuestos Parte I - Unidad I

Investigar y presentar en un documento de Word las siguientes preguntas:

1. ¿Qué es?, ¿Cómo utilizar? y diferencias entre Scanner y/o BufferedReader


en Java. Muestre Un ejemplo de cada una.
R/
Que es scanner: ofrece métodos para leer datos introducidos por el usuario
desde la entrada standard (teclado). 

Que es BufferedReader:  es una clase de Java para leer el texto de una


secuencia de entrada (como un archivo) almacenando en el búfer caracteres que
leen a la perfección caracteres, matrices o líneas.

Como utilizar:

Scanner:

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.

Si el dispositivo de entrada es el teclado escribiremos: Scanner sc = new Scanner


(System.in); Se ha creado el objeto sc asociado al teclado representado por
System.in Una vez hecho esto podemos leer datos por teclado.
la clase BufferedReader la podemos encontrar en java.io, Estas clases tienen la
misma función que FileReader y FileWriter, leer y escribir en ficheros, pero
BufferedReader y BufferedWriter optimizan estas funciones. Se crean igual que
FileReader y FileWriter, pero como parámetro insertaremos un objeto FileReader
para BufferedReader y un objeto FileWriter para BufferedWriter.

1- FileWriter fw=new FileWriter("D:\\fichero1.txt");

2- FileReader fr=new FileReader("D:\\fichero1.txt");<br /><br />BufferedReader


br=new BufferedReader(fr);

3- BufferedWriter bw=new BufferedWriter(fw);


Otra forma de crear los buffered es así:

1-BufferedReader br=new BufferedReader(new FileReader("D:\\fichero1.txt"));

2-BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\fichero1.txt"));

La mayor ventaja de los buffered es con el BufferedReader que nos permite

leer una linea completa, en lugar de carácter a carácter como hacia FileReader,

cuando el fichero termina, devuelve null, no un -1 como en FileReader.

Con BufferedWriter también podemos añadir una linea, como si pulsáramos un


Enter.

Scanner bufferedReader
esta clase pertenece por default a java esta clase se encuentra dentro de la
y al igual que el BufferedReader librería java.io la cual requiere de
requiere que se genere un objeto de generar un objeto de la misma clase.
dicha clase Scanner s=new
Scanner(System.in); BufferedReader bf=new

BufferedReader(new
InputStreamReader(System.in));

Para realizar la captura desde el teclado, cada una de las clases tiene diferentes
métodos
s.next--> en caso de Scanner. Obtiene br.readLine--> en el caso del
un string, o si se desea otro tipo de dato bufferedreader. obtiene string que si se
se usa nextInt, nextDouble, etc quiere manipular como otro tipo de dato
se tendrá que hacer un cast
scanner es más rápido de utilizar BufferedReader es más preciso al
momento de capturar datos.

Ejemplos:

Scanner

El programa pide que se introduzca el nombre de la persona y lo muestra por


pantalla. A continuación, lee por teclado el radio de una circunferencia de tipo

doublé y muestra su longitud. Además, lee un entero y muestra su cuadrado.

Import java.util.Scanner;

Public class Main {

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

Bufferedreader:

enum MarcaDeVehiculo{FORD, TOYOTA, SUZUKI, RENAULT, SEAT};

public class Vehículo {


private String matricula;

private MarcaDeVehiculo marca;

public Vehículo(){

public void setMatricula(String matricula){

this.matricula = matricula;

public void setMarca(int opción){

if(opcion == 1)

marca = MarcaDeVehiculo.FORD;

else if(opcion == 2)

marca = MarcaDeVehiculo.TOYOTA;

else if(opcion == 3)

marca = MarcaDeVehiculo.SUZUKI;

else if(opcion == 4)

marca = MarcaDeVehiculo.RENAULT;

else if(opcion == 5)

marca = MarcaDeVehiculo.SEAT;

public String getMatricula(){

return matricula;

public String getMarca(){


return marca.toString().toLowerCase();

2. Como se llama el modificador que se utiliza para declarar constantes en


Java, de un ejemplo.
Las constantes en Java se definen mediante el modificador final.

3. Realice un glosario con los siguientes términos: public, private, protected,


package, sentencias Break, Continue y Return, bloque Try Catch Finally.

Bloques try/catch/finally: En la programación siempre se producen


errores que hay que gestionar y

tratar correctamente. Por ello en java disponemos de un mecanismo consistente


en el uso de.

Continúe: es útil forzar una iteración temprana de un bucle.

Package: Colección de clases agrupadas juntas.

Private: Un modificador de miembros de una clase, un miembro privado


sólo puede ser referenciado en

el interior de la clase.

Protected: Un modificador para los miembros de una clase. Un miembro


protegido de una clase que puede ser utilizado en la clase que está
declarado o cualquier subclase derivada de esa clase.

Public: Un modificador de clases, datos y métodos a los que se puede


acceder por todos los programas.

Return: se usa para regresar explícitamente de un método.

Sentencia break: hace que se salga del bucle inmediatamente por lo que
no se ejecutara ni el código
que se encuentre después del break en esa misma iteración ni ninguna de
las posibles iteraciones
restantes.

Realizar los siguientes ejercicios, utilizando como lenguaje JAVA:

1. Dado el valor del lado en un triángulo equilátero, realice un programa que


permita obtener e imprimir el perímetro, el valor de la altura y el área del
triángulo.
R)

package triangulo;

import java.util.Scanner;

* @author DIEGO

public class Triangulo {

public static void main(String[] args) {

Scanner entrada= new Scanner (System.in);

float lado;

float altura;

float parametro;

System.out.println("valor de lado ");

lado=entrada.nextInt();

parametro = lado*3;

System.out.println("perimetro del tiengrulo " + parametro);

altura = (float) Math.sqrt((lado*lado)-((lado/2)*(lado/2)));

System.out.println("altura del tri " + altura);

System.out.println("el area es"+ Math.sqrt(3)* ((lado*lado))/4);


}

2. Realizar un programa que permita leer un número y obtenga e imprima su


cuadrado y su cubo.

public class CuboCuadrado {

public static void main(String[] args) {

Scanner entrada= new Scanner (System.in);

int num;

int cuadrado;

int cubo;

System.out.println("ingrese un numero");

num=entrada.nextInt();

System.out.println("cubo"+Math.pow(num, 3));

System.out.println("cuadrado"+Math.pow(num, 2));

3. Una frutera ofrece las manzanas con descuentos según la siguiente tabla:

N° Manzanas Compradas % Descuento


0-2 0%
3-5 10%
6-10 15%
11 en Adelante 20%
Determinar e imprimir ¿Cuánto pagara una persona que compre manzanas
en la frutera?

public class Frutera {

public static void main(String[] args) {

Scanner entrada= new Scanner (System.in);

int kg;

double desc = 0, total, pu;

System.out.println("Ingrese precio de unidad del KG de Manzana: ");

pu=entrada.nextDouble();

System.out.println("¿Cuantos Kg. ha comprado?: ");

kg = entrada.nextInt();

if (kg > 0 && kg <= 2)

desc = 0;

else if (kg > 2 && kg <= 5)

desc = 0.1;

else if (kg > 5 && kg <= 10)

desc = 0.15;

else if (kg > 10)

desc = 0.2;

total = (pu * kg) - ((pu * kg) * desc);

System.out.println("Total a pagar: "+ total);


4. Un proveedor de computadores ofrece descuento del 10%, si cuesta
$1.000.000 o más. Además, independientemente, ofrece el 5% de
descuento si la marca es ABACO. Determinar cuánto pagara, con IVA
incluido, un cliente cualquiera por la compra de una computadora.

5. Cierta universidad tiene un programa para estimular a los estudiantes con


buen rendimiento académico.

Promedio El alumno cursara Créditos Descuento


>= 4.5 Pregrado 28 25%
>=4.0 y <4.5 Pregrado 25 10%
>=3.5 y < 4.0 Pregrado 20 0%
>=2.5 y < 3.5 Pregrado 15 0%
<2.5 Pregrado No podrá Matricularse
>=4.5 Posgrado 20 20%
<4.5 Posgrado 10 0%

Realizar un programa que determine e imprima ¿cuánto debe pagar un


estudiante? y ¿cuantos créditos registra? si el valor de cada crédito es de
$50.000 para pregrado y de $300.000 para posgrado.

public class Universidad {

public static void main(String[] args) {

Scanner entrada= new Scanner (System.in);

int tipo_de_alumno;

double creditos, descuento, promedio, subtotal, total;

System.out.print("Ingresa el valor de promedio: ");

promedio = entrada.nextDouble();

entrada.nextLine();

System.out.println("Selecciona el valor de tipo de alumno.");

System.out.println("\t1.- pregrado");

System.out.println("\t2.- posgrado");

System.out.print("\t: ");

do {

tipo_de_alumno = entrada.nextInt();

entrada.nextLine();

if (tipo_de_alumno<1||tipo_de_alumno>2)

System.out.print("Valor incorrecto. Ingr\u00E9salo nuevamente.:


");
} while (tipo_de_alumno<1||tipo_de_alumno>2);

creditos=0;

descuento=0;

if(promedio>=4.5&&tipo_de_alumno==1)

creditos=28;

descuento=25;

if(promedio>=4.0&&promedio<4.5&&tipo_de_alumno==1)

creditos=25;

descuento=10;

if(promedio>=3.5&&promedio<4.0&&tipo_de_alumno==1)

creditos=20;

if(promedio>=2.5&&promedio<3.5&&tipo_de_alumno==1)

creditos=15;

if(promedio<2.5&&tipo_de_alumno==1)

System.out.println("No puede matricularse");

if(promedio>=4.5&&tipo_de_alumno==2)

creditos=20;

descuento=20;
}

if(promedio<4.5&&tipo_de_alumno==2)

creditos=10;

subtotal=tipo_de_alumno==1?creditos*50000:creditos*30000;

descuento=subtotal*descuento/100;

total=subtotal-descuento;

System.out.println("Valor de creditos: " + creditos);

System.out.println("Valor de descuento: " + descuento);

System.out.println("Valor de subtotal: " + subtotal);

System.out.println("Valor de total: " + total);

También podría gustarte