miércoles, 12 de marzo de 2008

ejercicios en blue j (2.29 al 2.50) de tarea....

  • Exercise 2.29
How can we tell from just its header that getPrice is a method and not a constructor?
public void setPrice(int ticketCost)

Ejercicio 2,29 ¿Cómo podemos decir de su cabecera que setPrice es un método Y no un constructor? public void setPrice(int ticketCost)

En la linea de codigo del ejercicio 2.29 podemos visualizar un metodo como es posible saber esto?
Es facil, para crear un constructor, es necesario que devuelva un valor, y ademas se especifique antes del nombre el tipo de dato.
Como nuestra linea de codigo no devuelve ningun valor, debido a que es "void" podemos decir que se trata de un metodo.




  • Exercise 2.30
Complete the body of the setPrice method so that it assigns the
value of its parameter to the price field.

Ejercicio 2,30 completa el cuerpo de l metodo setPrice para que se asigna el Valor de su parámetro para el campo price.


public void setPrice(int ticketCost)
{
Price=ticketCost;
}




  • Exercise 2.31

Complete the body of the following method, whose purpose is to
add the value of its parameter to a field named score.
/**
* Increase score by the given number of points.
*/
public void increase(int points)
{
...
}


Ejercicio 2.31
Completa el cuerpo del siguiente metodo, el cual su proposito es agregar el valor de su parametro al campo llamado score.

/**
* Increase score by the given number of points.
*/
public void increase(int points)
{
score=score+points;
}




  • Exercise 2.32

Can you complete the following method, whose purpose is to subtract the value of its parameter from a field named price?
/**
* Reduce price by the given amount.
*/
public void discount(int amount)
{
...
}


Ejercicio 2.32 Puede completar el siguiente método, cuyo objetivo es restar El valor de su parámetro del campo llamado price? / ** * Reducir el precio por la cantidad determinada. * / public void discount(int amount)
( ... )


Solucion:

/**
* Reduce price by the given amount.
*/
public void discount(int amount)
{
price=price-amount;
}



  • Exercise 2.33

Add a method called prompt to the TicketMachine class. This should have a void return type and take no parameters. The body of the method should print something like: Please insert the correct amount of money.

Ejercicio 2,33 Añadir un método llamado prompt a la clase TicketMachine. Este Deben tener un vacío tipo de retorno y no tener parámetros. El cuerpo del método
Debe imprimir algo como: Por favor, introduzca la cantidad correcta de dinero.


public void Prompt()
{
System.out.println("por favor inserte el monto correcto de dinero");
}



  • Exercise 2.34

Add a showPrice method to the TicketMachine class. This should have a void return type and take no parameters. The body of the method should print something like: The price of a ticket is xyz cents.
where xyz should be replaced by the value held in the price field when the method is called.

Ejercicio 2.34 Añadir un metodo showPrice a la clase TicketMachine. Este Debe tener un tipo de retorno void y no tener parámetros. El cuerpo del método Debe imprimir algo como: El precio del billete es xyz centavos. Donde xyz debe sustituirse por el valor celebrada en el campo price cuando el método Se llama.
public void showprice()
{
System.out.println("el precio del ticket es:"+price+"centavos");
}



  • Exercise 2.35

Create two ticket machines with differently priced tickets. Do calls
to their showPrice methods show the same output, or different? How do you explain
this effect?



Ejercicio 2,35 Cree dos ticket machines con diferente precio de los tickets. Hacer llamadas a sus metodos ShowPrice, muestra la misma salida, o diferentes? ¿Cómo explica Este efecto?

Salen diferentes cantidades ya que cada objeto se tomad e manera diferente, por lo tanto el precio de los tickets son diferentes, ejemplo:





  • Exercise 2.36

What do you think would be printed if you altered the fourth statement of printTicket so that price also has quotes around it, as follows? System.out.println("# " + "price" + " cents.");

Ejercicio 2,36 ¿Qué cree usted que sería impreso si alterado la cuarta declaración PrintTicket de manera que el precio también tiene comillas en torno a ella, de la siguiente manera? System.out.println ( "#" + "precio" + "centavos".);

Pues imprimiría en la terminal la palabra price en vez del valor de este campo, ejemplo:



  • Exercise 2.37

What about the following version? System.out.println("# price cents.");

Ejercicio 2,37¿Qué hay de la siguiente versión? System.out.println ( "# precio centavos.");

Pues imprimiria en pantalla las palabras que estan dentro de las comillas, ejemplo:
"# precio centavos."


  • Exercise 2.38

Could either of the previous two versions be used to show the price of tickets in different ticket machines? Explain your answer.

Ejercicio 2,38 ¿Podría cualquiera de las dos versiones anteriores se utilizarán para mostrar el Precio de las entradas en diferentes máquinas? Explica tu respuesta.

Pues ninguna de la sdos anteriores nos hervirían para mostrar el prcio de las entradas en la diferentes maquinas ya que las dos nos mostrarían la misma leyenda. En cambio si lo ponemos de la siguiente manera, nos mostraria diferentes valores ya que en el nos referimos al valor del campo price:

System.out.println ( "# “+precio +”centavos.");



Before attempting these exercises, be sure that you have a good understanding of
how ticket machines behave, and how that behavior is implemented through the
fields, constructor, and methods of the class.

Antes de intentar estos ejercicios, asegúrese de que usted tiene un buen conocimiento de Cómo se comportan las máquinas de tickets, y la manera en que la conducta se ejecuta a través de la Campos, constructor, y los métodos de la clase.


  • Exercise 2.39

Modify the constructor of TicketMachine so that it no longer has a parameter. Instead, the price of tickets should be fixed at 1000 cents. What effect does this have when you construct ticket machine objects within BlueJ?


Ejercicio 2,39 Modificar el constructor de TicketMachine a fin de que ya no tiene Un parámetro. En cambio, el precio de los tickets debe fijarse en 1000 centavos. ¿Qué efecto Tiene esto cuando usted construir objetos dentro de la máquina de tickets de BlueJ?


Pues debemos asignar al campo price el valor de 1000 directamernte, ejmplo:

Price=1000

Asi ya no podemos elegir libremente el precio de los tickets.


  • Exercise 2.40

Implement a method, empty, that simulates the effect of removing all money from the machine. This method should have a void return type, and its body should simply set the total field to zero. Does this method need to take any parameters?
Test your method by creating a machine, inserting some money, printing some tickets, checking the total, and then emptying the machine. Is this method a mutator or an accessor?



Ejercicio 2,40 Aplicar un método, vacío, que simula el efecto de eliminar Todo el dinero de la máquina. Este método debería tener un tipo de retorno void, y su cuerpo debería simplemente establecer el campo total a cero. Este método necesario que realice ninguna Parámetros?
Pruebe su método mediante la creación de una máquina, la inserción de un poco de dinero, la impresión Algunos tickets, el control total y, a continuación, vaciar la máquina. ¿Es este método unMutator o uno de acceso?

Cuando en la firma del metodo contiene la palabra reservada VOID dicho metodo no devuelve ningun valor por lo tanto es mutante, como lo es este caso, pero si necesita una sentencia que debe igualar el campo total a cero

Public void eliminar()
{
Total=0
}


  • Exercise 2.41

Implement a method, setPrice, that is able to set the price of tickets to a new value. The new price is passed in as a parameter value to the method. Test your method by creating a machine, showing the price of tickets, changing the price, and then showing the new price. Is this method a mutator?

Ejercicio 2,41 Aplicar un método, setPrice, que es capaz de fijar el precio de los tickets para un nuevo valor. El nuevo precio es pasado como parámetro en el valor al Método. Pruebe su método mediante la creación de una máquina, que muestra el precio de las tickets, Cambiar el precio y, a continuación, muestra el nuevo precio. ¿Es este método un mutador?


  • Exercise 2.42

Give the class two constructors. One should take a single parameter that specifies the price, and the other should take no parameter and set the price to be a default value of your choosing. Test your implementation by creating machines via the two different constructors.

Ejercicio 2,42 Dar la clase dos constructores. Uno debe tener un único parámetro Que se especifique el precio, y el otro debería tener ningún parámetro y establece el precio De ser un valor por defecto de su elección. Pruebe su aplicación mediante la creación de máquinas A través de los dos constructores diferentes.

  • Exercise 2.43

Check that the behavior we have discussed here is accurate by creating a TicketMachine instance and calling insertMoney with various actual parameter values. Check the balance both before and after calling insertMoney. Does the balance ever change in the cases when an error message is printed? Try to
predict what will happen if you enter the value zero as the parameter, and then see if you are right.


Ejercicio 2,43 Compruebe que la conducta que hemos discutido aquí es correcta por La creación de una instancia y TicketMachine llamando insertMoney con diversos real Valores de los parámetros. Consultar el saldo antes y después de llamar insertMoney. ¿El equilibrio nunca cambio en el caso de un mensaje de error cuando se imprime? Intente Predecir lo que sucederá en caso de que introduzca el valor cero como el parámetro, y luego ver si Tiene usted razón.


Cuando insertamos el valor de cero en el parámetro, nos devuelve un mensaje como este:

  • Exercise 2.44

Predict what you think will happen if you change the test in insertMoney to use the greater-than or equal-to operator:
if(amount >= 0)

Check your predictions by running some tests. What difference does it make to the
behavior of the method?

Ejercicio 2,44 Predecir lo que piensa que va a suceder si el cambio en la prueba InsertMoney de utilizar el mayor que o igual-a-operador:
If (amount > = 0)
Chequea tu predicciones ejecutando algunas pruebas. ¿Qué supone para la Comportamiento del método?

Pues al insertar en el parámetro la cantidad cero, lo aceptaria sin marcar ningun mensaje ya que tambien lo contempla (0)al poner mayor o igual que cero.

  • Exercise 2.45

In the shapes project we looked at in Chapter 1 we used a boolean field to control a feature of the circle objects. What was that feature? Was it well suited to being controlled by a type with only two different values?


Ejercicio 2.45 En el proyecto shapes vimos en el capítulo 1 se utilizó un Campo lógico para controlar una característica de los objetos círculo. Lo que se que función? ¿Fue Adecuado para ser controlado por un tipo con sólo dos valores diferentes?

El campo del cual se habla es el siguiente:

private boolean isVisible;

isVisible = false;


yo creo que si es adecuado ya que este solo puede tomar dos valores ya sea falso o verdadero, es decir puede el circulo sea visible o no.

  • Exercise 2.46

In this version of printTicket we also do something slightly different with the total and balance fields. Compare the implementation of the method in Code 2.1 with that in Code 2.8 to see whether you can tell what those differences are. Then check your understanding by experimenting within BlueJ.


Ejercicio 2,46 En esta versión de printTicket también hacer algo ligeramente Diferentes con los campos total y balance. Comparar la aplicación de el Método en el Código con la de 2,1 Código 2,8 a ver si usted puede decir lo que los Diferencias. Luego, compruebe su comprensión por la experimentación dentro de BlueJ.


Pues en la primera hace un incremento del total mas el precio.
total = total + price;
mientras que en la segunda hace un decremento del balance menos el precio.
balance = balance - price;

  • Exercise 2.47

After a ticket has been printed, could the value in the balance field ever be set to a negative value by subtracting price from it? Justify your answer.


Ejercicio 2,47 Después de un ticket ha sido impreso, podría el valor en el Campo balance nunca ser fijado a un valor negativo restando el precio de este? Justifica tu respuesta.


NO, ya que antes se pone la condición if (balance >= price), si cumple hará lo que sigue, que en este caso es restar el precio de balance, y como debido a la condición balance siempre será mayor o igual que cero entonces no podrá dar un resultado negativo.

  • Exercise 2.48

So far we have introduced you to two arithmetic operators, + and –,
that can be used in arithmetic expressions in Java. Take a look at Appendix D to find
out what other operators are available.

Ejercicio 2,48 Hasta el momento hemos introducido usted a dos operadores aritméticos, + y -, Que se pueden utilizar en expresiones aritméticas en Java. Echa un vistazo en el Apéndice D de encontrar Lo que se dispone de otros operadores.

  • Exercise 2.49

Write an assignment statement that will store the result of multiplying
two variables, price and discount, into a third variable, saving.

Ejercicio 2,49 Escribir una cesión declaración de que se guarde el resultado de multiplicar Dos variables, el precio y descuento, en una tercera variable, el ahorro.

ahorro=precio * descuento


  • Exercise 2.50

Write an assignment statement that will divide the value in total
by the value in count and store the result in mean.

Ejercicio 2,50 Escribir una cesión declaración que dividia el valor en total Por el valor de contar y almacenar el resultado en media.

Mean=count / store


1 comentario:

Unknown dijo...

muy buen aporte pero me podrias dar la respuesta de la 2.41 y 2.42