Prime Number: Write A Program Which Asks The User For An Integer Number and Answers If It Is A
Prime Number: Write A Program Which Asks The User For An Integer Number and Answers If It Is A
=======
1) Write a class whose instances represent a single playing card from a deck of cards.
Playing cards have two distinguishing properties: rank and suit (palos y numeros).
for (int i = 0; i < 10; i++) { -> desde; condicion a cumplir; incremento
3) Write a small program to test your deck and card classes. The program can be as simple
as creating a deck of cards and displaying its cards.
Class 4
======
Help (Scanner):
Prime number: write a program which asks the user for an integer number and answers if it is a
prime number or not.
Switch: create a program to display the "text mark" corresponding to a certain "numerical
mark", using the following equivalence:
9,10 = A
7,8 = B
6=C
5=D
0-4 = F
Your program must ask the user for a numerical mark and display the corresponding text mark.
You must do it twice: first using "if" and then using "switch".
Conditional operator: create a program which assigns a integer variable "amountOfPositives"
the value 0, 1 or 2, depending on the values of two numbers a & b (entered by the user).
Do it in two different ways: first using "if" and then using the "conditional operator" (?)
Statistics: write a program to compute several basic statistical operations: it will accept
numbers from the user and show their sum, average, minimum and maximum, as in the
following example:
Number? 5
Total=5 Amount=1 Average=5 Maximum=5 Minimum=5
Number? 2
Total=7 Amount=2 Average=3 Maximum=5 Minimum=2
Number? 0
Bye!
(As seen in this example, the program will finish when the user enters 0)
Repetitive structures: create a program to ask the user for two numbers and display the
numbers between them (both included), three times: using "for", using "while" and using
"do..while"
6 7 8 9 10 11 12
6 7 8 9 10 11 12
6 7 8 9 10 11 12
Several mutiplication tables: display the multiplication tables from 2 to 9, using nested
"do...while" statements.
Class 5
======
Ejercicio:
La clase base es la clase Empleado. Esta clase contiene:
Un atributo privado nombre de tipo String que heredan el resto de clases.
Un constructor por defecto.
Un constructor con parámetros que inicializa el nombre con el String que recibe.
Método set y get para el atributo nombre.
Un método toString() que devuelve el String: "Empleado " + nombre.
El resto de clases solo deben sobrescribir el método toString() en cada una de ellas y declarar
el constructor adecuado
de forma que cuando la ejecución de las siguientes instrucciones:
Empleado Rafa
Empleado Mario -> Directivo
Empleado Alfonso -> Operario
Empleado Luis -> Operario -> Oficial
Empleado Pablo -> Operario -> Tecnico
- Las características comunes que se almacenan tanto para las revistas como para los libros
son el código, el título,
y el año de publicación. Estas tres características se pasan por parámetro en el momento de
crear los objetos.
- Los libros tienen además un atributo prestado. Los libros, cuando se crean, no están
prestados.
- Las revistas tienen un número. En el momento de crear. En el momento de crear las revistas
se pasa el número por
parámetro.
- Tanto las revistas como los libros deben tener (aparte de los constructores) un método
toString() que devuelve el
valor de todos los atributos en una cadena de caracteres. También tienen un método que
devuelve el año de publicación,
y otro el código.
- Para prevenir posibles cambios en el programa se tiene que implementar una interfaz
Prestable con los métodos
prestar(), devolver() y prestado. La clase Libro implementa esta interfaz.
- En el método main(), crear un array de Publicaciones, con 2 libros y 2 revistas, prestar uno de
los libros, mostrar
por pantalla los datos almacenados en el array y mostrar por pantalla cuántas hay prestadas y
cuantas hay anteriores a
1990.
Clase 7
======
Generics:
Exercise: Write a program that prints its arguments in random order. Do not make a copy of the argument array.
Demonstrate how to print out the elements using both streams and the traditional enhanced for statement.
Answer:
Annotations:
public class Son extends Father {
Class 8:
======
try {
input = new RandomAccessFile(file, "r");
while ((line = input.readLine()) != null) {
System.out.println(line);
}
return;
} finally {
if (input != null) {
input.close();
}
}
}
`
Create a custom exception called NameNotFoundException.
Hilos
====
Simular el proceso de cobro de un supermercado; es decir, unos clientes van con un carro lleno de productos y
una cajera les cobra los productos, pasándolos uno a uno por el escaner de la caja registradora. En este caso
la cajera debe de procesar la compra cliente a cliente, es decir que primero le cobra al cliente 1, luego al
cliente 2 y así sucesivamente. Para ello vamos a definir una clase "Cajera" y una clase "Cliente" el cual tendrá
un "array de enteros" que representaran los productos que ha comprado y el tiempo que la cajera tardará en
pasar el producto por el escaner; es decir, que si tenemos un array con [1,3,5] significará que el cliente ha
comprado 3 productos y que la cajera tardara en procesar el producto 1 '1 segundo', el producto 2 '3 segundos'
y el producto 3 en '5 segundos', con lo cual tardara en cobrar al cliente toda su compra '9 segundos'.
Ejercicio Integrador:
===============
Una empresa constructora de casa necesita un software que les permita ver el estado de los proyectos en el nuevo
barrio privado. El proyecto debe tener un número de identificación, un nombre, una descripción, un costo y un equipo
de trabajo. El equipo de trabajo debería puede estar compuesto de un arquitecto, un albañil, un electricista, un
plomero y un gasista. Cada uno de los trabajadores serán identificados por un legajo. Cada empleado tiene un
puesto, un nombre, una edad. Y al ver la información de cada uno se debe listar toda la información de cada uno. Se
debe verificar que al agregar un empleado al conjunto de trabajo el mismo no puede estar repetido (por ejemplo, no
podemos ingresar dos veces a un empleado con el mismo legajo para un mismo proyecto).
Los proyectos deben implementar una interfaz que informe se está ejecutando el proyecto y permitir cambiar el
estado de empezado a terminado. Al imprimir por consola la información de un proyecto, debe ser capaz de mostrar
toda su información, incluida la del equipo de trabajo.
A la hora de validar que el equipo de trabajo no tenga un empleado duplicado, arrojar una excepción personalizada,
que informe al usuario, que se debe verificar de nuevo el equipo de trabajo para ese proyecto.
Ejercicio Integrador 2:
================
Una empresa de hardware local necesita inventariar los distintos modelos de nuevas laptops y PC de escritorios. Le
han pedido a una consultora que les construya un programa para dicho fin. Los nuevos equipos tienen un número de
serie, un modelo, un precio, y una cantidad solicitada por un proveedor. En el caso de las laptops, tienen un tamaño
de pantalla, un peso y duración de batería. Las PC de escritorio indican si vienen o no con periféricos, si poseen o no
monitor y si traen placa de video dedicada.
Los proveedores piden pedidos a la fábrica y esta les arma los pedidos que tienen un nro de pedido, una fecha de
entrega (Date), el lote de equipos (listado de equipos a vender) y el cuit y razón social del proveedor.
Los modelos de las laptops se van renovando anualmente, cuando se fabrica la primera llevan un estado que es
“último modelo” en true, y cuando dejan de fabricarse pasa a false. Para conocer si aún se siguen fabricando las
mismas deben implementar la interfaz Fabricable.
Se debe validar que a la hora de crear un pedido no se coloquen en el mismo, dos veces el mismo equipo (nro de
serie) para no complicar la logística de embalaje y entrega. Si se observa esto arrojar una excepción.
Después de generar al menos tres pedidos, imprimir los datos de cada uno.