Está en la página 1de 41

Instituto Tecnologico de Tuxtla Gutierrez

Programacin Orientada a Objetos Ejercicio Resueltos Capitulo 1 y 2

Daniel Alberto Zavaleta Palacios Matricula: 11270328

Maestro: Ral Paredes Trinidad

Turno: Matutino

Ingeniera en Sistemas Computacionales

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 mtodo 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

Ac se puede ver que antes de llamar el mtodo el circulo era de color azul, despus se llamo 2 veces a l mtodo cambiar color y como consecuencia quedo en rojo y amarillo,

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 se han creado varios objetos con diretes atributos, cada objeto tendrn los mismos mtodos

Ejercicio 1.8

Ac se puede observar cmo va cambiando el estado de un objeto, pu debemos recordar que el estado de un objeto son sus caractersticas 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 tamaa adecuado a cada uno y por ultimo se ordenan con los diferentes mtodos, para que as al final quede en forma de casa. La otra forma seria creando un objeto que se encargue de crear a los dems objetos y a la vez, les de su tamaa ubicacin y color correspondiente

Ejercicio 1.10

Ac se puede apreciar se dibuja la casa prcticamente solita Ejercicio 1.11 Se crea un objeto llamado picture1: este objeto se encargara de crear a los otros objetos con sus respetivas medidas, ubicacin, tamao y color

Ejercicio1.12

Ac se puede ver que el cdigo fuente de la clases Ejercicio 1.13

Se puede ver la modificacin en el cdigo, y por ende al ejecutar el mtodo 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 continuacin se pone las sentencias extras que se ponen en el mtodo drow para que se pueda dibujar el sol2 sun2 = new Circle(); sun2.changeColor("yellow"); sun2.moveHorizontal(10);

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 despus de que se cre el dibujo, para eso se cre un nuevo mtodo llamado Sol_hola que bsicamente lo que hace es bajar el sol lentamente de modo que parezca que est saliendo

Ejercicio 1.16

Una vez ms se puede ver que en la parte amarilla es la que sea agrego, se agrego un mtodo nuevo para que el sol se puede ir despus Ejercicio 1.17

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

Ejercicio1.18

En esta imagen nos damos cuenta que el mtodo getName nos regrese el valor del nombre, este es un mtodo 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 parmetro de tipo entero, despus de ponerlo el objeto queda creado y aparece en el banco de objetos

Ejercicio1.20

Ejercicio 1.21 Ac se han creado tres objetos de tipo estudiante y uno de clase de laboratorio, tambin observamos que hemos inscrito un estudiante, para eso llamamos a mtodo inscribir estudiante y nos damos cuenta que nos pide un parmetro de tipo estudiante y por eso debemos poner que objeto ser al que se inscribir

Ejercicio 1.22

Al llamar el mtodo imprimir lista imprime el nombre de los alumnos inscritos, ese mtodo usa los parmetros que anteriormente se le han pasado y los manda imprimir despus, ac podemos ver como un parmetro fue pasado a un campo

Ejercicio 1.23

Ac una vez ms se puede ver como se crean varios objetos estudiantes se inscriben y por ltimo se llama el mtodo 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 adems de saber de que tipos son

Ejercicio 1.25

Ac se puede ver como se agregaron los dems campos de profesor, saln, hora, y saln. Y despus 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

Boolean Int doubl Ejercicio 1.28 Se debe poner una nueva declaracin de campo, y quedara asi: Pritvate String nombre; Ejercicio 1.29 La declaracin quedara 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 abstraccin del diseador, puede ser una clase pues la clase se llamara libro y sus objetos podran ser las hojas, pero tambin 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

Capitulo 2
Capitulo2 Ejercicio 2.1

Ac se puede ver que se crea un objeto de la mquina de escribir, y luego se mandan a llamar sus mtodos correspondientes. En estas imgenes se llama al los mtodos conseguir precio, insertar dinero e imprimir boleto

Ejercicio 2.2 Despus de llamar el mtodo imprimir boleto, el saldo de es cero, ya que despus de imprimir el boleto, el saldo siempre volver a cero Ejercicio 2.3 Esta mquina 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 cmo funciona la mquina de boletos, mas sin embargo aun no nos metemos en el cdigo, prximamente 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 mtodos, pero con diferentes atributos, ejemplo cada quien con diferentes precios.

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/prvate)+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 pblicas, 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; } Mtodos public int getPrice() { return price; }

public int getBalance() {

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 atrs mostramos cuales son los campos, constructor y mtodos

Ejercicio 2.10 Los constructores no llevan valores de retorno, adems 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 prvate 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 carcter 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 declaracin queda de la siguiente forma prvate int Estado; Ejercicio 2.16 Pertenece a la clase Estudiante

Ejercicio 2.17 El constructor tiene dos parmetros, el primero es de tipo String(cadena) y el segundo es de tipo int(entero) Ejercicio 2.18 Muy posiblemente sern del tipo String int ,float y alomejor de tipo objeto

Ejercicio 2.19 nombre=nombreMascota; A continuacin 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 mtodo. El cdigo 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 parmetro correspondiente Ejercicio 2.21 La nica diferencia es el nombre del mtodo 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 podra caracterizar con la pregunta Cul es el saldo? Ejercicio 2.23 No, ya que solo se est cambiando el nombre del mtodo, pero no se est modificando ningn campo, ni se est haciendo un cambio en alguna sentencia del cdigo

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 mtodo imprimir boleto no regresara ningn valor, pero si pude imprimir mediante la sentencia System.out.println Ejercicio 2.27 No tienen return ya que estos ambos son mtodos de modificacin, en el mtodo ingresar dinero modifica el campo de balance, mientras que el mtodo imprimir boleto imprime el boleto y adems, modifica el total sumndole 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

Despus de haberlo creado, se invoca el mtodo getBalance y con eso nos devuelve en valor de saldo, como aun no hemos metido dinero el saldo es igual a 0

Se ingresa el dinero, este mtodo pasara el parmetro al campo balance

Se vuelve a invocar el mtodo getBalance ahora como ya hemos ingresado dinero, el valor ahora es de 100.

Ejercicio 2.29 La palabra reservada void, void es un retorno que no regresa ningn 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; }

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 Ac se puede ver que se han creado dos maquina de boletos, y ambas muestran diferente valores cuando se llama al mtodo mostrar precio, esto se debe a que cada una de un objeto independiente.

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 ms la palabra centavos se tendra 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 tendra 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 modificacin del constructor hace que al crearse un objeto de mquina de boletos siempre se iniciara el campo precio con 1000, el constructor queda de la siguiente manera

public TicketMachine() { price = 1000; balance = 0; total = 0; } Ejercicio 2.40 El mtodo no necesita ningn parmetro ya que trabajara sin necesidad de informacin extra, es un mtodo de modificacin ya que modifica el valor del campo total, el mtodo queda de la siguiente manera. public void Vaciar_total() { total=0; } Ejercicio 2.41 El mtodo es de modificacin ya que modificara el campo del precio, el mtodo queda de la siguiente manera. public void CambiarPrecio(int pre) { precio=pre; } Ejercicio 2.42 Ac se muestra los dos objetos creados, y despus se muestran los dos cdigos de los dos constructores

public TicketMachine(int ticketCost) { price = ticketCost; balance = 0; total = 0; }

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 mtodo trabaje correctamente Ejercicio 2.44 Con esto corregimos un problema, pues ya no aceptara nmeros negativos, ahora si queremos aceptar nmeros positivos y que empiece a partir de 1 quedara 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 opcin. 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 mnimo habr en el campo saldo la cantidad necesario para imprimir un boleto, mnimo el campo saldo quedara en cero pero nunca un valor negativo. Ejercicio 2.48 A continuacin 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 detrs 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 segn relacin igualdad/desigualdad o relaccin mayor/menor. Devuelven siempre un valor boolean. * '>': Mayor que de

* '<': Menor que * '==': Iguales * '=': Distintos * '>=': Mayor o igual que * '<=': Menor o igual que Operadores Lgicos: Nos permiten construir expresiones lgicas. * '&&' : 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, evalundolos ambos. * '|' : devuelve true uno de los operandos es true, evalundolos ambos. Operador de concatenacin con cadena de caracteres '+': * Por Ejemplo: System.out.println("El total es"+ result +"unidades"); Operadores que actan 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); }

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 lnea 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 despus del return ya no se har nada ms 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 adems 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");

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 habra que modificar algunos mtodos agregando variables locales, parmetros y usar un switch al imprimirlos boletos para saber de que tipo de boleto se imprimira, quedara 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()

{ 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 {

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

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 mtodo es getCodigo y es de tipo String Ejercicio 2.60 El nombre del mtodo es SetCredito, el nombre del parmetro es cantidadDeCredito y es de tipo entero (int) Ejercicio 2.61 public class Persona { }

Ejercicio 2.62 private String nombre; private int edad; private String cdigo; private int crdito; Ejercicio 2.63 public Modulo(String CodigoDelModulo) { Cdigo=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 ); }

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

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 continuacin se muestra las dos imgenes de los mtodos de acceso muestra autor y mostrar ttulo y luego se muestra el cdigo de esos dos mtodos

public String Mostrar_autor() { return author; } public String Mostar_titulo() { return title; } Ejercicio 2.75 A continuacin se muestra la impresin al llamar imprimir_mi_autor e imprimir_titulo y luego se muestra el cdigo de la impresin en los dos mtodos.

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; } Mtodo public int Mostar_num_de_paginas() { return paginas; } Ejercicio 2.77 El cdigo del mtodo 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"); }

Ejercicio 2.78 Campo private String NumeroDeReferencia; Constructor public Book(String bookAuthor, String bookTitle, int nupa) { author = bookAuthor; title = bookTitle; NumeroDeReferencia=""; paginas=nupa; } Mtodo 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 mtodo de imprimir detalles poner la sentencia condiciona ya que desde el constructor la evaluamos y si paso el constructor por lgica si se imprime en caso de que no pasa la prueba en el constructor imprimir cero en nmero de referencia

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; Mtodo Prestar public void Prestarlibro() { prestado=prestado+1; } Mtodo 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"); }

Ejercicio 2.82 A continuacin mostraremos una captura, donde se muestra un objeto creado y luego se muestra el cdigo

public class calentador { private int temperatura; public calentador() { temperatura=15; } public void Calentar_Aumentar_tem() { Temperatura=temperatura+5;

} public void Enfriar_Disminuir_tem() { Temperautura=temperatura-5; } public int Mostar_tem_actual() { return temperatura; } } Ejercicio 2.83 A continuacin se muestra el cdigo anterior pero modificado, este mtodo 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 {

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