daniel alberto zavaleta palacios ejercicio poo (bluej)

41
Instituto Tecnologico de Tuxtla Gutierrez Programación Orientada a Objetos Ejercicio Resueltos Capitulo 1 y 2 Daniel Alberto Zavaleta Palacios Matricula: 11270328 Maestro: Raúl Paredes Trinidad Turno: Matutino Ingeniería en Sistemas Computacionales

Upload: ivan-alvarez

Post on 29-Dec-2014

362 views

Category:

Documents


26 download

TRANSCRIPT

Page 1: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Instituto Tecnologico de Tuxtla Gutierrez

Programación Orientada a Objetos

Ejercicio Resueltos Capitulo 1 y 2

Daniel Alberto Zavaleta Palacios

Matricula: 11270328

Maestro: Raúl Paredes Trinidad

Turno: Matutino

Ingeniería en Sistemas Computacionales

Page 2: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Capitulo1 Ejercicio 1.1

Acá se pueden apreciar que se han creado dos objetos de la clase circulo y uno de la clase cuadrado Ejercicio 1.2 Lo que ocurre es que al llamar do veces el método mover abajo se mueve dos veces para abajo, y al darle dos veces a volver invisible, simplemente al darle la segunda vez sigue siendo invisible ya que se le digo la primera vez que fuera invisible y al volver a darle simplemente queda igua Ejercicio 1.3 Para poder mover a la izquierda se pone un signo menos (-) Ejercicio 1.4

Page 3: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 1.5 Al ingresar un color que no está permitido, simplemente el cirulo se colorea de color negro Ejercicio 1.6 Marcar un erro, diciendo que no se puede encontrar la variable, esto se debe a que como es una cadena esta se debe escribir entre comilla (Ejempló “blue”) Ejemplo 1.7

Acá se puede ver que antes de

llamar el método el circulo era

de color azul, después se llamo 2

veces a l método cambiar color y

como consecuencia quedo en

rojo y amarillo,

Acá se puede ver que se han creado varios objetos con diretes atributos, cada objeto tendrán los mismos métodos

Page 4: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 1.8

Acá se puede observar cómo va cambiando el estado de un objeto, pué debemos recordar que el estado de un objeto son sus características que posee en un determinado momento Ejercicio 1.9 Para dibujar la casa primero se crea el numero de objetos de cada clase necesarios para poder dibujar la casa, luego se les pone el tamaña adecuado a cada uno y por ultimo se ordenan con los diferentes métodos, para que as al final quede en forma de casa. La otra forma seria creando un objeto que se encargue de crear a los demás objetos y a la vez, les de su tamaña ubicación y color correspondiente

Page 5: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 1.10

Acá se puede apreciar se dibuja la casa prácticamente solita Ejercicio 1.11 Se crea un objeto llamado picture1: este objeto se encargara de crear a los otros objetos con sus respetivas medidas, ubicación, tamaño y color

Page 6: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio1.12

Acá se puede ver que el código fuente de la clases Ejercicio 1.13

Page 7: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Se puede ver la modificación en el código, y por ende al ejecutar el método el sol en lugar de ser amarillo ahora será azul Ejercicio 1.14

Acá se agrega un nuevo campo de tipo circle y de nombre sun2, a continuación se pone las sentencias extras que se ponen en el método drow para que se pueda dibujar el sol2 sun2 = new Circle(); sun2.changeColor("yellow"); sun2.moveHorizontal(10);

Page 8: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

sun2.moveVertical(-15); sun2.changeSize(60); sun2.makeVisible(); Ejercicio 1.15

Acá se puede apreciar la parte en amarilla es la que se agrego para hacer que el sol descienda después de que se creó el dibujo, para eso se creó un nuevo método llamado Sol_hola que básicamente lo que hace es bajar el sol lentamente de modo que parezca que está saliendo Ejercicio 1.16

Page 9: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Una vez más se puede ver que en la parte amarilla es la que sea agrego, se agrego un método nuevo para que el sol se puede ir después Ejercicio 1.17

Ejercicio1.18

Acá se puede ver que en la primera captura el objeto pide un dos parámetros para que este puede trabajar, luego en la segunda captura se muestra el objeto ya creado en el banco d objetos

Page 10: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

En esta imagen nos damos cuenta que el método getName nos regrese el valor del nombre, este es un método de retorno pues no regresa un valor Ejercicio1.19

Acá se crea un nuevo objeto de tipo labclass en objeto al ser creado pide un parámetro de tipo entero, después de ponerlo el objeto queda creado y aparece en el banco de objetos Ejercicio1.20

Page 11: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 1.21

Ejercicio 1.22

Al llamar el método imprimir lista imprime el nombre de los alumnos inscritos, ese método usa los parámetros que anteriormente se le han pasado y los manda imprimir después, acá podemos ver como un parámetro fue pasado a un campo

Acá se han creado tres objetos de tipo estudiante y uno de clase de laboratorio, también observamos que hemos inscrito un estudiante, para eso llamamos a método inscribir estudiante y nos damos cuenta que nos pide un parámetro de tipo estudiante y por eso debemos poner que objeto será al que se inscribirá

Page 12: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 1.23

Acá una vez más se puede ver como se crean varios objetos estudiantes se inscriben y por último se llama el método imprimir lista para que nos regrese el nombre de los estudiantes ademsas de que nos diga la cantidad de estudiantes inscritos Ejercicio 1.24

Acá podeos ver por medio del inspector, los diferentes campos que tiene el objeto además de saber de que tipos son

Page 13: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 1.25

Acá se puede ver como se agregaron los demás campos de profesor, salón, hora, y salón. Y después se ve que al imprimir, se imprimen todos los detalles. Ejercicio 1.26 Algunos de los tipos de datos en java son los siguientes:

Ejercicio 1.27 Los datos son: boolena string Int

Page 14: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Boolean Int doublé Ejercicio 1.28 Se debe poner una nueva declaración de campo, y quedaría asi: Pritvate String nombre; Ejercicio 1.29 La declaración quedaría de la siguiente manera: public void Enviar(String abc) { } Ejercicio 1.30 public void promedio(int numa, int numb) { } Ejercicio 1.31 Puede ser objeto o clase, ya que depende del nivel de abstracción del diseñador, puede ser una clase pues la clase se llamaría libro y sus objetos podrían ser las hojas, pero también puede ser objeto ya que pude pertenecer a una clase libro Ejercicio 1.32 No, ya que solo un objeto puede pertenecer a una sola clase

Page 15: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Capitulo 2

Capitulo2

Ejercicio 2.1

Acá se puede ver que se crea un

objeto de la máquina de escribir,

y luego se mandan a llamar sus

métodos correspondientes.

En estas imágenes se llama al los

métodos conseguir precio,

insertar dinero e imprimir boleto

Page 16: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.2

Después de llamar el método imprimir boleto, el saldo de es cero, ya que después de

imprimir el boleto, el saldo siempre volverá a cero

Ejercicio 2.3

Esta máquina tiene muchas fallas, ya que no da cambio, acepta cantidades negativas e

imprime el boleto sin importar que falta o sobre dinero.

Ejercicio 2.4

Muy bien, en este momento quedo muy claramente cómo funciona la máquina de boletos,

mas sin embargo aun no nos metemos en el código, próximamente lo haremos

Ejercicio 2.5

Acá se puede apreciar que se han creado dos objetos de la clase maquina de boletos, ambos

con los mismo métodos, pero con diferentes atributos, ejemplo cada quien con diferentes

precios.

Page 17: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.6

public class Estudiante

{

}

public class CursoDeLaboratorio

{

}

Ejercicio 2.7

No se puede ya que la sintaxis no es la correcta, la sintaxis correcta es:

(public/prívate)+class+(NombreDeLaClase)

Ejemplo public class Mascota

En caso de que no se escribamos correctamente saldrá el siguiente erro.

<identifier> expected

Ejercicio 2.8

Si es posible ya que por defecto inicia las clases en públicas, pero sin embargo es bueno

colocarlas para poder saber que estamos haciendo

Ejercicio 2.9

Campos

private int price;

private int balance;

private int total;

private int estado;

Constructor

public TicketMachinere()

{

price = 1000;

balance = 0;

total = 0;

}

Métodos

public int getPrice()

{

return price;

}

public int getBalance()

{

Page 18: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

return balance;

}

public void insertMoney(int amount)

{

balance = balance + amount;

}

public int Total()

{

return total;

}

public void Mensaje()

{

System.out.println("Por favor ingrese la cantidad de dinero correcta");

}

public void Mostrar_precio()

{

System.out.println("El precio del boleto es de " + price + " centavos");

}

public void Vaciar_total()

{

total=0;

}

public void Cambiar_precio(int campre)

{

price=campre;

}

public void printTicket()

{

// Simulate the printing of a ticket.

System.out.println("##################");

System.out.println("# The BlueJ Line");

System.out.println("# Ticket");

System.out.println("# " + price + " cents.");

System.out.println("##################");

System.out.println();

balance = 0;

}

}

En la parte de atrás mostramos cuales son los campos, constructor y métodos

Page 19: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.10

Los constructores no llevan valores de retorno, además de que el constructor siempre

llevara el mismo nombre de la clase

Ejercicio 2.11

1.- privada y entera

2.-privada y de tipo objeto

3.-Privada y de tipo objeto

Ejercicio 2.12

1.- vive

2.-tutor

3.- juego

Ejercicio 2.13

Si tiene una gran importancia ya que al escribir un campo primero se escribe prívate o

public luego el tipo de campo que es y por último el nombre del campo en caso de no

escribir bien la sintaxis puede salir un mensaje de error como el siguiente:

<identifier> expected

Ejercicio 2.14

Si es de carácter muy importante ya que si no se pone ; marca el siguiente error:

; expected

Es muy importante no olvidar ; si lo recordamos esto nos ahorrara muchos dolores de

cabeza

Ejercicio 2.15

La declaración queda de la siguiente forma

prívate int Estado;

Ejercicio 2.16

Pertenece a la clase Estudiante

Ejercicio 2.17

El constructor tiene dos parámetros, el primero es de tipo String(cadena) y el segundo es de

tipo int(entero)

Ejercicio 2.18

Muy posiblemente serán del tipo String int ,float y alomejor de tipo objeto

Page 20: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.19

nombre=nombreMascota;

A continuación se muestra la clase Mascota creada

Ejercicio 2.20

El error es que se puso int antes del precio, lo que se hizo fue declarar una variable local, y

eso hace es que ahí se declara una variable local con el mismo nombre de un campo no

podre usar el campo en ese constructor o método. El código correctamente debe quedar de

la siguiente manera

public TicketMachine(int ticketCost)

{

price = ticketCost;

balance = 0;

total = 0;

}

Como nos dimos cuenta se quito el int y así si se puede usar el campo con su parámetro

correspondiente

Ejercicio 2.21

La única diferencia es el nombre del método y campo al que retorna, una retorna al campo

saldo y el otro retorna al precio, fuera de ahí pues ambos regresan un entero.

Ejercicio 2.22

Se podría caracterizar con la pregunta ¿Cuál es el saldo?

Ejercicio 2.23

No, ya que solo se está cambiando el nombre del método, pero no se está modificando

ningún campo, ni se está haciendo un cambio en alguna sentencia del código

Page 21: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.24

public int Mostrar_Total()

{

return total;

}

Ejercicio 2.25

Marca un erro ya que falta una sentencia para saber que valor se retornara

missing return statement

Ejercicio 2.26

La diferencia principal es que en una el tipo de return es int y en otra el tipo de es void, esto

quiere decir que el método imprimir boleto no regresara ningún valor, pero si pude

imprimir mediante la sentencia System.out.println

Ejercicio 2.27

No tienen return ya que estos ambos son métodos de modificación, en el método ingresar

dinero modifica el campo de balance, mientras que el método imprimir boleto imprime el

boleto y además, modifica el total sumándole el balance y por ultimo restablece el balance

Ejercicio 2.28

Se crea un objeto de la clase

Maquina de boletos y se ve en e

banco de objetos

Después de haberlo creado, se

invoca el método getBalance y

con eso nos devuelve en valor de

saldo, como aun no hemos

metido dinero el saldo es igual a

0

Page 22: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.29

La palabra reservada void, void es un retorno que no regresa ningún valor.

Ejercicio 2.30

Public void PonerPrecio(int pre)

{

Precio=pre;

}

Ejercicio 2.31

public void incrementar(int puntos)

{

puntaje=puntaje+puntos;

}

Ejercicio 2.32

public void descuento(int cantidad)

{

precio=precio-cantidad;

}

Se ingresa el dinero, este método

pasara el parámetro al campo

balance

Se vuelve a invocar el método

getBalance ahora como ya

hemos ingresado dinero, el valor

ahora es de 100.

Page 23: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.33

public void Mensaje()

{

System.out.println("Por favor ingrese la cantidad de dinero correcta");

}

Ejercicio 2.34

public void Mostrar_precio()

{

System.out.println("El precio del boleto es de " + price + " centavos");

}

Ejercicio 2.35

Ejercicio 2.36

Se imprimirá la palabra precio en lugar del campo precio, esto se debe a que si queremos

imprimir algo lo escribimos entre comillas, y si queremos imprimir un campo no lleva

comillas

Ejercicio 2.37

Imprimirá el # precio cvos ya que está entre comillas, si queremos imprimir el campo

precio más la palabra centavos se tendría que escribir de la siguiente manera

(“El precio es de “+ precio + “centavos”);

Ejercicio 2.38

No ya que ambas tienen fallas al momento de imprimir el boleto, si se quisiera usa se

tendría que usar de la siguiente manera

public void Mostrar_precio()

{

System.out.println("El precio del boleto es de " + price + " centavos");

}

Ejercicio 2.39

La modificación del constructor hace que al crearse un objeto de máquina de boletos

siempre se iniciara el campo precio con 1000, el constructor queda de la siguiente manera

Acá se puede ver que se

han creado dos maquina

de boletos, y ambas

muestran diferente

valores cuando se llama

al método mostrar precio,

esto se debe a que cada

una de un objeto

independiente.

Page 24: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

public TicketMachine()

{

price = 1000;

balance = 0;

total = 0;

}

Ejercicio 2.40 El método no necesita ningún parámetro ya que trabajara sin necesidad de información

extra, es un método de modificación ya que modifica el valor del campo total, el método

queda de la siguiente manera.

public void Vaciar_total()

{

total=0;

}

Ejercicio 2.41

El método es de modificación ya que modificara el campo del precio, el método queda de la

siguiente manera.

public void CambiarPrecio(int pre)

{

precio=pre;

}

Ejercicio 2.42

Acá se muestra los dos objetos creados, y después se muestran los dos códigos de los dos

constructores

public TicketMachine(int ticketCost)

{

price = ticketCost;

balance = 0;

total = 0;

}

Page 25: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

public TicketMachine()

{

price = 100;

balance = 0;

total = 0;

}

Ejercicio 2.43

Acepta valores positivos negativos y ceros, por lo que podemos decir que tiene un error,

pues no debe pasar, se debe corregir todo esto para que el método trabaje correctamente

Ejercicio 2.44

Con esto corregimos un problema, pues ya no aceptara números negativos, ahora si

queremos aceptar números positivos y que empiece a partir de 1 quedaría asi

If(cantidad >=1)

Ejercicio 2.45

Usamos un boolen para hacerlo visible, está bien implementado ya que se quiere hacer

visible o invisible y las variables de tipo boolena nos dan esa opción.

Ejercicio 2.46

La diferencia es que en lugar de volver a cero el campo de saldo, solo le resta el saldo

menos el precio, para que asi quede en saldo algo de cambio, y sea disponible para usarlo

de nuevo al imprimir un nuevo boleto.

Ejercicio 2.47

No ya que mínimo habrá en el campo saldo la cantidad necesario para imprimir un boleto,

mínimo el campo saldo quedara en cero pero nunca un valor negativo.

Ejercicio 2.48

A continuación se muestran algunos tipo de operadores en java

Operadores Unarios: El mas (+) y el menos (-). Para cambiar el signo del operando.

Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.

* NombreObjeto instanceof NombreClase

Operadores Incrementales: Son los operadores que nos permiten incrementar las variables

en una unidad. Se pueden usar delante y detrás de la variable dependiendo de lo que

queramos, es decir, si queremos que incremente o viceversa antes de utilizar o lo contrario.

* '++'

* '--'

Operadores Relacionales: Permiten comparar variables según relación de

igualdad/desigualdad o relacción mayor/menor. Devuelven siempre un valor boolean.

* '>': Mayor que

Page 26: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

* '<': Menor que

* '==': Iguales

* '¡=': Distintos

* '>=': Mayor o igual que

* '<=': Menor o igual que

Operadores Lógicos: Nos permiten construir expresiones lógicas.

* '&&' : devuelve true si ambos operandos son true.

* '||' : devuelve true si alguno de los operandos son true.

* '!' : Niega el operando que se le pasa.

* '&' : devuelve true si ambos operandos son true, evaluándolos ambos.

* '|' : devuelve true uno de los operandos es true, evaluándolos ambos.

Operador de concatenación con cadena de caracteres '+':

* Por Ejemplo: System.out.println("El total es"+ result +"unidades");

Operadores que actúan a nivel de bits: Son mucho menos utilizados por eso los explicamos

mas por encima.

* '>>': desplazamiento a la derecha de los bits del operando

* '<<': desplazamiento a la izquierda de los bits de operando

* '&': operador and a nivel de bit.

* '|': operador or a nivel de bit

Ejercicio 2.49

ahorro=precio*descuento;

Ejercicio 2.50

promedio=total/cantidad;

Ejercicio 2.51

If(precio>presupuesto)

{

System.out.println(“El precio es muy caro”);

}

Else

{

System.out.println(“El precio es justo);

}

Page 27: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.52

If(precio>presupuesto)

{

System.out.println(“El precio es muy caro, su presupuesto es de “ + presupuesto );

}

Else

{

System.out.println(“El precio es justo);

}

Ejercicio 2.53

Por que regresa el valor de saldo, pero en la línea anterior saldo es igualado a cero, y por

eso al retornar a saldo este vale cero, en cambio en el anterior copia saldo a una variable

loca, luego el saldo lo iguala a cero y por ultimo retorna a la variable local en la que se

copio el valor de saldo

Ejercicio 2.54

Ya no iguala el saldo a cero ya que antes tiene un return a saldo, y siempre un return debe

ser la última sentencia que se debe ejecutar ya que después del return ya no se hará nada

más

Ejercicio 2.55

public int Vaciar_total()

{

int tomi;

tomi=total;

total=0;

return tomi;

}

Ejercicio 2.56

Ambos, ya que modifica un campo, y además muestra un campo

Ejercicio 2.57

public void printTicket_3(int op)

{

int cantidad;

int canreapa;

canreapa=0;

cantidad=0;

ahorro=price*des;

canreapa=price3-balance;

if(canreapa <= 0) {

// Simulate the printing of a ticket.

ahorro=price*des;

System.out.println("##################");

System.out.println("# The BlueJ Line");

Page 28: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

System.out.println("# Ticket");

System.out.println("# " + price3 + " cents.");

System.out.println("##################");

System.out.println();

// Update the total collected with the price.

total = total + price3;

// Reduce the balance by the prince.

balance = balance - price3;

}

else {

System.out.println("Te faltan por pagar "+ canreapa + " centavos");

}

}

Ejercicio 2.58

No es necesario modificar tantos campos, en general solo habría que modificar algunos

métodos agregando variables locales, parámetros y usar un switch al imprimirlos boletos

para saber de que tipo de boleto se imprimira, quedaría de la siguiente manera.

public class Mi_maquina

{

private int total;

private int saldo;

private int precio1;

private int precio2;

private int precio3;

/**

* Ingrese el costo de los boletos

*/

public Mi_maquina(int costo1, int costo2, int costo3)

{

precio1=costo1;

precio2=costo2;

precio3=costo3;

total=0;

saldo=0;

}

public int Mostar_saldo()

{

return saldo;

}

public int Mostrar_total()

Page 29: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

{

return total;

}

/**

* Restaurar el total y muestra el total existente hasta ese momento

*/

public int Restaurar_total()

{

int totem;

totem=total;

total=0;

return totem;

}

public void Mostar_precio_de_boletos()

{

System.out.println("El precio del boleto Numero 1 es de $"+ precio1);

System.out.println("El precio del boleto Numero 2 es de $"+ precio2);

System.out.println("El precio del boleto Numero 3 es de $"+ precio3);

}

public void Cambiar_precio_de_boletos(int costo1, int costo2, int costo3)

{

precio1=costo1;

precio2=costo2;

precio3=costo3;

}

/**

* Regresa el dinero sobrante (cambio) y restaura el saldo a cero

*/

public int Entregar_cambio()

{

int satem;

satem=saldo;

saldo=0;

return satem;

}

public void Insertar_dinero(int aumento)

{

if(aumento>0)

{

saldo=saldo+aumento;

}

else

{

Page 30: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

System.out.println(+ aumento + " No es un valor permitido, por favor ingrese un valor

positivo");

}

}

/**

* Seleccione con numero el tipo de boleto que desee y la cantidad (1,2 o 3)

*/

public void Imprimir_boleto(int opc, int can)

{

int tem1;

int tem2;

int tem3;

tem1=0;

tem2=0;

tem3=0;

tem1=precio1;

tem2=precio2;

tem3=precio3;

switch ( opc )

{

case 1:

tem1=precio1*can;

if(saldo >= tem1)

{

saldo=saldo-tem1;

total=total+tem1;

System.out.println("*******************Mi Maquina***********************");

System.out.println(+ can + " boleto(s) de "+ precio1 + " Centavos");

System.out.println("Le queda de saldo "+ saldo + " Centavos");

System.out.println(" ");

saldo=0;

}

else

{

System.out.println("Su saldo actual es insuficiente, su saldo actual es de:"+ saldo +

",Ingrese mas dinero o elija otro tipo de boleto");

}

break;

case 2:

tem2=precio2*can;

if(saldo >=tem2)

{

saldo=saldo-tem2;

total=total+tem2;

System.out.println("*******************Mi Maquina***********************");

System.out.println(+ can + " boleto de "+ precio2 + " Centavos");

Page 31: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

System.out.println("Le queda de saldo "+ saldo + " Centavos");

System.out.println(" ");

saldo=0;

}

else

{

System.out.println("Su saldo actual es insuficiente, su saldo actual es de:"+ saldo +

",Ingrese mas dinero o elija otro tipo de boleto");

}

break;

case 3:

tem3=precio3*can;

if(saldo >=tem3)

{

saldo=saldo-tem3;

total=total+tem3;

System.out.println("*******************Mi Maquina***********************");

System.out.println(+ can + " boleto de "+ precio3 + " Centavos");

System.out.println("Le queda de saldo "+ saldo + " Centavos");

System.out.println(" ");

saldo=0;

}

else

{

System.out.println("Su saldo actual es insuficiente, su saldo actual es de:"+ saldo +

",Ingrese mas dinero o elija otro tipo de boleto");

}

break;

default:

System.out.println("Error Ingrese el tipo de boleto correcto");

break;

}

}

}

Ejercicio 2.59

El nombre del método es getCodigo y es de tipo String

Ejercicio 2.60

El nombre del método es SetCredito, el nombre del parámetro es cantidadDeCredito y es de

tipo entero (int)

Ejercicio 2.61

public class Persona

{

}

Page 32: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.62

private String nombre;

private int edad;

private String código;

private int crédito;

Ejercicio 2.63

public Modulo(String CodigoDelModulo)

{

Código=CodigoDelModulo;

}

Ejercicio 2.64

Public Persona(String miNombre, int Miedad)

{

nombre=miNombre;

edad=Miedad;

}

Ejercicio 2.65 El error es que lleva un void y si se supone que retornara debe llevar el tipo de dato que

retorna corregido queda de la siguiente manera

Public int getEdad()

{

Return edad;

}

Ejercicio 2.66

public String getNombre()

{

return nombre;

}

Ejercicio 2.67

public void setEdad(int ed)

{

Edad=ed;

}

Ejercicio 2.68

public void Imprimir_detalles()

{

System.out.println(“El nombre de la persona es “ + nombre );

}

Page 33: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.69

Ejercicio 2.70

Retornara Henr557

Ejercicio 2.71

Marca un error, esto se debe a que la primera cadena es muy corta, pues debe ser mínimo

de 4 caracteres

Ejercicio 2.72

public Student(String fullName, String studentID)

{

if(fullName.length()<4)

{

System.out.println("\nError: El nombre completo es demasiado, debe ser mayor 4

letras");

}

if(studentID.length()<3)

{

System.out.println("\nError: El ID del estudiate es demasiado corto, debe ser mayor

a 3 letras");

}

name = fullName;

id = studentID;

credits = 0;

}

Page 34: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.73

public String getLoginName()

{

int tano;

int taid;

tano=name.length();

taid=id.length();

if(tano<4 && taid>=3)

{

return name.substring(0,tano) + id.substring(0,3);

}

if(tano>=4 && taid<3)

{

return name.substring(0,4) + id.substring(0,taid);

}

if(tano<4 && taid<3)

{

return name.substring(0,tano) + id.substring(0,taid);

}

else

{

return name.substring(0,4) + id.substring(0,3);

}

}

Ejercicio 2.74

A continuación se muestra las dos imágenes de los métodos de acceso muestra autor y

mostrar título y luego se muestra el código de esos dos métodos

Page 35: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

public String Mostrar_autor()

{

return author;

}

public String Mostar_titulo()

{

return title;

}

Ejercicio 2.75 A continuación se muestra la impresión al llamar imprimir_mi_autor e imprimir_titulo y

luego se muestra el código de la impresión en los dos métodos.

Page 36: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

public void Imprimir_mi_autor()

{

System.out.println("El autor es "+ author);

}

public void Imprimir_titulo()

{

System.out.println("El titulo del libro es " + title);

}

Ejercicio 2.76

Campo

private int paginas;

Constructor

public Book(String bookAuthor, String bookTitle, int nupa)

{

author = bookAuthor;

title = bookTitle;

paginas=nupa;

}

Método

public int Mostar_num_de_paginas()

{

return paginas;

}

Ejercicio 2.77

El código del método imprimir detalles queda de la siguiente manera

public void Imprimir_detalles()

{

System.out.println("\nTitulo:" + title);

System.out.println("Autor:" + author);

System.out.println("Num de paginas:" + paginas);

System.out.println("Num de referencia:" + NumeroDeReferencia);

System.out.println("Este libro se a prestado:"+ prestado + " Veces");

}

Page 37: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.78

Campo

private String NumeroDeReferencia;

Constructor

public Book(String bookAuthor, String bookTitle, int nupa)

{

author = bookAuthor;

title = bookTitle;

NumeroDeReferencia="";

paginas=nupa;

}

Método

public void Cambiar_numero_de_referencai(String numre)

{

NumeroDeReferencia=numre;

}

Ejercicio 2.79

Constructor

public Book(String bookAuthor, String bookTitle,String NReferencia)

{

author = bookAuthor;

title = bookTitle;

int num;

num=NReferencia.length();

if(num>=3)

{

NumeroDeReferencia=NReferencia;

}

}

Acá nos damos cuenta que no es necesario en el método de imprimir detalles poner la

sentencia condiciona ya que desde el constructor la evaluamos y si paso el constructor por

lógica si se imprime en caso de que no pasa la prueba en el constructor imprimirá cero en

número de referencia

Page 38: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.80

public void Cambiar_numero_de_referencai(String numre)

{

int num;

num=numre.length();

if(num>=3)

{

NumeroDeReferencia=numre;

}

else

{

System.out.println("Error: Ingrese un numero de referencia de almenos 3

caracteres");

}

}

Ejercicio 2.81

Campo

private int prestado;

Método Prestar

public void Prestarlibro()

{

prestado=prestado+1;

}

Método Imprimir Detalles

public void Imprimir_detalles()

{

System.out.println("\nTitulo:" + title);

System.out.println("Autor:" + author);

System.out.println("Num de paginas:" + paginas);

System.out.println("Num de referencia:" + NumeroDeReferencia);

System.out.println("Este libro se a prestado:"+ prestado + " Veces");

}

Page 39: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

Ejercicio 2.82

A continuación mostraremos una captura, donde se muestra un objeto creado y luego se

muestra el código

public class calentador

{

private int temperatura;

public calentador()

{

temperatura=15;

}

public void Calentar_Aumentar_tem()

{

Temperatura=temperatura+5;

Page 40: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

}

public void Enfriar_Disminuir_tem()

{

Temperautura=temperatura-5;

}

public int Mostar_tem_actual()

{

return temperatura;

}

}

Ejercicio 2.83

A continuación se muestra el código anterior pero modificado, este método hace cosas un

poca mas diferentes que al anterior, posee muchas ventajas con respecto al anterior pues

este lo podemos considerar que se puede implementar en la vida real

public class calentador

{

private int temperatura;

private int max;

private int min;

private int incremento;

/**

* Ingrese el minimo y el maximo de temperatura

*/

public calentador(int mi, int ma)

{

max=ma;

min=mi;

temperatura=15;

incremento=5;

}

public void Calentar_Aumentar_tem()

{

int tem1;

tem1=temperatura;

tem1=tem1+incremento;

if(tem1<=max)

{

temperatura=temperatura+incremento;

}

else

{

Page 41: Daniel Alberto Zavaleta Palacios Ejercicio POO (Bluej)

System.out.println("La temperatura actual es de "+ temperatura + ", no se permite calentar

mas la temperatura");

}

}

public void Enfriar_Disminuir_tem()

{

int tem1;

tem1=temperatura;

tem1=tem1-incremento;

if(tem1>=min)

{

temperatura=temperatura-incremento;

}

else

{

System.out.println("La temperatura actual es de "+ temperatura + ", no se permite enfriar

mas la temperatura");

}

}

public void Cambiar_incremento(int nui)

{

if(nui>0)

{

incremento=nui;

}

else

{

System.out.println("Se debe ingresar un valor positivo y que sea diferente de cero");

}

}

public int Mostar_min()

{

return min;

}

public int Mostar_max()

{

return max;

}

public int Mostar_tem_actual()

{

return temperatura;

}