Está en la página 1de 5

Gua de Ejercicios Java

Ejercicio 7: Desarrolle un mtodo al que le pasamos el nombre y apellidos de una persona como un
slo String con el tpico formato "apellidos, nombre". El mtodo nos devolver un nuevo
formato: "nombre apellidos". Por ejemplo:
System.out.println (miMetodo ("Troncoso, Sergio."));
imprime
Sergio Troncoso
R:
String miMetodo (String junto) {
int coma= junto.indexOf (',');
String apellido= junto.substring (0, coma);
String nombre= junto.substring (coma+2);
return nombre + " " + apellido;
}

Nota2: el mtodo indexOf devuelve la posicin de un caracter dentro de un string.


Nota2: el mtodo substring devuelve la parte de un string comprendida entre 2 valores. Si se coloca
un slo parmetro devuelve la parte del string comprendida entre el valor del parmetro y el final. Ej:
substring(0,3) del string computacin devuelve comp (la primera posicin es 0). Ej2: para el
mismo caso substring(8) devuelve in.
Ejercicio 8: Dada una variable entera t que almacena el tiempo transcurrido del da en segundos,
escriba las expresiones que permitan extraer las horas, minutos y segundos transcurridos del
da (h, m, s). Ejemplo:
t= 3723;
h= 1; m= 2; s= 3;
R: h= t / 3600;
m= (t % 3600) / 60;
s= t % 60;

Ejercicio 9: Escriba un mtodo al que le pasemos dos nmeros reales y devuelva el de mayor valor
absoluto.
R:
double maxAbs (double x, double y){
return (Math.max (Math.abs (x), Math.abs (y)));
}

Nota:1 El mtodo max devuelve el mayor entre 2 valores.


Nota2: El mtodo abs devuelve el valor absoluto de un nmero.
Ejercicio 10: Escriba un mtodo que devuelva si un material flota en el agua o no, a partir de su
masa y su volumen. Utilice un mtodo auxiliar que calcule la densidad del material.
R:
public boolean flota (double masa, double volumen){
if densidad(masa,volumen)<1{
return (Flota)}

else{
return(no flota);
}
}
private double densidad (double masa, double volumen){
return (masa / volumen);
}

Ejercicio 11: Dado el siguiente algoritmo, escribir el programa que debera resultar:
1.
2.
3.
4.
5.
6.
7.

Escribir en pantalla "Ingrese el valor para A?"


Pedir un valor real
Si ingresa un 0 escribir en pantalla "No puede dividir por 0" y terminar el programa
Escribir en pantalla "Ingrese el valor para b?"
Pedir otro valor real
Dividir el valor obtenido en 5 por el valor obtenido en 2
Entregar en pantalla "El valor de la incgnita es = " y el valor obtenido en 6

R:
static public void main (String args[]) {
Console C = new Console();
c.println(Ingrese el valor para A?);
double A = c.readDouble();
if (A == 0) {
c.println(No puede dividir por 0);
} else {
c.println(Ingrese el valor para b?);
double b = c.readDouble();
double x = b / A;
c.println(El valor de la incgnita es = + x);
}
}
Ejercicio 12: Escriba la clase Circulo, que recibe como parmetro el radio de la circunferencia y que
contiene los siguientes mtodos:
public double area(){...}
public double perimetro(){...}
R:
class Circulo{
public double area(double radio){
return (3.14*radio*radio);
}
public double perimetro(double radio){
return (2*3.14*radio);

}
}
Ejercicio 13: Escriba la clase Dado, que recibe como parmetro la cantidad de caras que tendr el
dado y contiene el siguiente mtodo:
R:
class Dado{
}
public int tirar(int caras){
return (Math.random()*caras+1);
}

Nota: Math.random genera un nmero aleatorio entre >0 y <1.


Ejercicio 14: A continuacin se presenta el tpico programa del Cachipn. El cdigo para un juego es
el siguiente:
class cachip {
// Un mtodo que calcule un nmero aleatorio genrico
static int aleatorio () {
double r = Math.random();
int res = (int) (r*3+1);
return (res);
}
static public void main (String[] args) {
Console c = new Console();
c.println("Significado: 1=papel, 2=tijeras, 3=piedra");
// Inicializacin de variables de juego
int jugador = 0;
int computador = 0;
c.println("Ingrese su opcin (1)(2)(3)");
jugador = c.readInt();
computador = aleatorio();
c.println("El computador juega " + computador);
if ( (jugador == 1 && computador == 3)
|| jugador > computador)
{
c.println("Gana el Jugador");
}
else if ( (jugador == 3 && computador == 1)
|| jugador < computador)
{
c.println("Gana el Computador");
}
}
}
Modifique el cdigo anterior para jugar una cantidad de veces determinada por el usuario y que al
final muestre quin gan en el acumulado de juegos.
R:
class cachip {
// Un mtodo que calcule un nmero aleatorio genrico
static int aleatorio () {
double r = Math.random();
System.out.println(r);
int res = (int) (r*3+1);
System.out.println(res);
return ((res));
}
static public void main (String[] args) {
Console c = new Console();
c.println("Significado: 1=papel, 2=tijeras, 3=piedra");
// Inicializacin de variables de juego
int jugador = 0;

int computador = 0;
int contadorJugador = 0, contadorComputador = 0;
int veces;
int numero=0;
c.println("Cuntas veces desea jugar?");
veces=c.readInt();
while (numero<veces) {
c.println("Ingrese su opcin (1)(2)(3)");
jugador = c.readInt();
computador = aleatorio();
c.println("ran= "+computador);
c.println("computador juega " + computador);
if ( (jugador == 1 && computador == 3)
|| jugador > computador)
contadorJugador ++;
else if ( (jugador == 3 && computador == 1)
|| jugador < computador)
contadorComputador ++;
// Resultado Acumulado
c.println("Puntajes:");
c.println("Persona " + contadorJugador);
c.println("Computador " + contadorComputador);
numero=numero+1;
}
}
}
Ejercicio 15: Escribir un programa que simule un cajero automtico, estableciendo el dilogo indicado
en el siguiente ejemplo:
Cunto dinero necesita? 39000
Retire los siguientes billetes del dispensador:
1 de $20.000
1 de $10.000
1 de $5.000
2 de $2.000
- Preguntar cuanto dinero se necesita
- Guardar el valor (cantidad) ingresado en una variable
- Mostrar el mensaje "Retire los siguientes billetes:"
- Calcular (division) el numero de billetes de 20000 que se necesitan paraentregar esa suma (la
cantidad)
- Mostrar el numero de billetes de 20000
- Calcular lo que falta por repartir(resto) luego de repartir billetes de 20000 y eso entregarlo (dividir)
en billetes de 10000
- Mostrar el numero de billetes de 10000
- Calcular lo que falta por repartir(resto) luego de repartir lo que quedaba en billetes de 10000 y eso
entregarlo (dividir) en billetes de 5000
- Mostrar el numero de billetes de 5000
- Calcular lo que falta por repartir(resto) luego de repartir lo que quedaba en billetes de 5000 y eso
entregarlo (dividir) en billetes de 2000
- Mostrar el numero de billetes de 2000
- Calcular lo que falta por repartir(resto) luego de repartir lo que quedaba en billetes de 2000 y eso
entregarlo (dividir) en billetes de 1000
- Mostrar el numero de billetes de 1000

Nota: el usuario slo ingresa una cantidad de dinero en "miles" (es decir no hay 500 ni 100, ni 10, ni
5 pesos. No, tampoco 1 peso).
Posteriormente repita la operacin hasta que el usuario lo determine (ciclo do-while).
R:
class cajero {
static public void main (String args[]) {
// Declaraciones
Console C = new Console();
C.print("Cuanto dinero necesita? ");
int d =C.readInt();
C.println("Retire los siguientes billetes:");
C.println( d/20000
+ " de $20.000");
d=d%20000;
C.println( d/10000 + " de $10.000");
d=d%10000;
C.println( d/5000 + " de $5.000");
d=d%5000;
C.println( d/2000 + " de $2.000");
d=d%2000;
C.println( d/1000 + " de $1.000");
}
}
3b) En un ciclo:
class cajero {
static public void main (String args[]) {
// Declaraciones
Console C = new Console();
char op;
do
{
C.print("Cuanto dinero necesita? ");
int d =C.readInt();
C.println("Retire los siguientes billetes:");
C.println( d/20000
+ " de $20.000");
d=d%20000;
C.println( d/10000 + " de $10.000");
d=d%10000;
C.println( d/5000 + " de $5.000");
d=d%5000;
C.println( d/2000 + " de $2.000");
d=d%2000;
C.println( d/1000 + " de $1.000");
C.println("Desea hacer otra operacin s/n?");
op =C.readChar();
}
while (op=='s');
}
}

También podría gustarte