Ejercicios de iniciación Java 3
Vamos a seguir practicando con otra serie de ejercicios básicos de Java
Ejercicio 1
Vamos a empezar con otra versión del juego Piedra, papel o tijera
Juego de piedra, papel, tijera. Opción 2
Solución
import java.util.Scanner;
class Piedra_papel_tijeras {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
String jugador_1, jugador_2;
do {
System.out.println("Jugador 1 elige una opcion.(P/L/T)");
jugador_1 = teclado.nextLine();
System.out.println("Jugador 2 elige una opcion.(P/L/T)");
jugador_2 = teclado.nextLine();
System.out.println();
} while (jugador_1.equals(jugador_2));
if ((jugador_1.equals("P") || jugador_1.equals("p")) && (jugador_2.equals("L") || jugador_2.equals("l"))) {
System.out.println("*****************************");
System.out.println("* Jugador_2 gana con papel. *");
System.out.println("*****************************");
} else {
if ((jugador_2.equals("P") || jugador_2.equals("p")) && (jugador_1.equals("L") || jugador_1.equals("l"))) {
System.out.println("*****************************");
System.out.println("* Jugador_1 gana con papel. *");
System.out.println("*****************************");
} else {
if ((jugador_1.equals("P") || jugador_1.equals("p"))
&& (jugador_2.equals("T") || jugador_2.equals("t"))) {
System.out.println("******************************");
System.out.println("* Jugador_1 gana con piedra. *");
System.out.println("******************************");
} else {
if ((jugador_2.equals("P") || jugador_2.equals("p"))
&& (jugador_1.equals("T") || jugador_1.equals("t"))) {
System.out.println("******************************");
System.out.println("* Jugador_2 gana con piedra. *");
System.out.println("******************************");
} else {
if ((jugador_1.equals("L") || jugador_1.equals("l"))
&& (jugador_2.equals("T") || jugador_2.equals("t"))) {
System.out.println("*******************************");
System.out.println("* Jugador_2 gana con tijeras. *");
System.out.println("*******************************");
} else {
if ((jugador_2.equals("L") || jugador_2.equals("l"))
&& (jugador_1.equals("T") || jugador_1.equals("t"))) {
System.out.println("*******************************");
System.out.println("* Jugador_1 gana con tijeras. *");
System.out.println("*******************************");
}
}
}
}
}
}
}
}
Ejercicio 2
Un nuevo ejercicio para trabajar con datos de una persona
Realiza un programa que guarde datos de una persona: nombre, edad y salario. Sin utilizar objetos. Luego buscar por el nombre y mostrar edad y salario
Solución
// Guardar nombre, edad y salario sin usar objetos
import java.util.Scanner;
class Array_3 {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int tam, i = 0;
String basura, resp;
System.out.println("Introduce el tamaño maximo");
tam = teclado.nextInt();
String nombre[] = new String[tam];
int edad[] = new int[tam];
float salario[] = new float[tam];
System.out.println("Quieres introducir un dato? S/N");
basura = teclado.nextLine();
resp = teclado.nextLine();
System.out.println();
while ((resp.equals("s") || resp.equals("S")) && i < tam) {
System.out.println("introduce un nombre.");
nombre[i] = teclado.nextLine();
System.out.println("introduce una edad.");
edad[i] = teclado.nextInt();
System.out.println("introduce un salario.");
salario[i] = teclado.nextFloat();
i++;
if (i == tam) {
System.out.println("El array ya esta lleno.");
} else {
System.out.println("Quieres introducir otro dato? S/N");
basura = teclado.nextLine();
resp = teclado.nextLine();
System.out.println();
}
}
for (int j = 0; j < i; j++) {
System.out.println("En la posicion " + j + " nombre: " + nombre[j] + ", edad: " + edad[j] + ", salario: "
+ salario[j]);
}
//Buscar por el nombre y mostrar la edad y el salario
String nom;
boolean semaforo = false;
System.out.println();
System.out.println("introduce el nombre a buscar.");
nom = teclado.nextLine();
for (int j = 0; j < i; j++) {
if (nombre[j].equals(nom)) {
System.out.println("Los datos de " + nom + " son: edad " + edad[j] + " salario " + salario[j]);
semaforo = true;
}
}
if (semaforo == false) {
System.out.println("Ese nombre no se encuentra en el array.");
}
}
}
Ejercicio 3
Un nuevo ejercicio para practicar con arrays de dos dimensiones
Realiza un programa que cree un array de dos dimensiones. Un método que pida números para llenar el array, otro que muestre ordenado por filas, otro que lo muestre ordenado por columnas, otro que busque el número mayor y lo muestre, y por último un método que pida un número y lo guarde en la fila y columna que diga el usuario.
Solución
import java.util.Scanner;
public class Arrays_multidim {
//Insertar numeros en un array bidimensional
public static void INSERTA(int[][] num) {
Scanner teclado = new Scanner(System.in);
System.out.println("********************");
for (int i = 0; i < num.length; i ++) {
for (int j = 0; j < num[0].length; j ++) {
System.out.println("Introduce un numero");
num[i][j] = teclado.nextInt();
}
}
System.out.println("********************");
}
//Enseña ordenado por filas
public static void VER(int[][] num) {
System.out.println("********************");
for (int i = 0; i < num.length; i ++) {
for (int j = 0; j < num[0].length; j ++) {
System.out.println("Fila: " + i + " - Columna: " + j + " Valor: " + num[i][j]);
}
}
System.out.println("********************");
}
//Enseña ordenado por columnas
public static void VER_COLUMNAS(int[][] num) {
System.out.println("********************");
for (int i = 0; i < num[0].length; i ++) {
for (int j = 0; j < num.length; j ++) {
System.out.println("Columna: " + j + " - Fila: " + i + " Valor: " + num[j][i]);
}
}
System.out.println("********************");
}
//Buscar el numero mayor
public static void BUSCA_MAYOR(int[][] num) {
int mayor = 0, fila = 0, colum = 0;
for (int i = 0; i < num.length; i ++) {
for (int j = 0; j < num[0].length; j++) {
if (num[i][j] > mayor) {
mayor = num[i][j];
fila = i;
colum = j;
}
}
}
System.out.println("********************");
System.out.println("El mayor es: " + mayor + " en la fila: " + fila + " columna: " + colum);
System.out.println("********************");
}
//Hacer la suma de cada fila y luego la suma total
public static void SUMAR(int[][] num) {
int suma, total = 0;
for (int i = 0; i < num.length; i ++) {
suma = 0;
for (int j = 0; j < num[0].length; j ++) {
suma = suma + num[i][j];
}
System.out.println("Fila: " + i + " suma: " + suma);
total = total + suma;
}
System.out.println("Suma total: " + total);
}
//Que el usuario pueda escoger en que fila y columna quiere insertar un dato
public static void ESCOGE_INSERTA(int[][] num) {
Scanner teclado = new Scanner(System.in);
int fila, colum;
String resp, basura;
do {
System.out.println("Elige la fila.");
fila = teclado.nextInt();
System.out.println("Elige la columna.");
colum = teclado.nextInt();
if (fila < num.length) {
if (colum < num[0].length) {
System.out.println("Introduce un valor.");
num[fila][colum] = teclado.nextInt();
}
}
System.out.println("Quieres introducir mas valores? (S/N)");
basura = teclado.nextLine();
resp = teclado.nextLine();
} while (resp.equals("s") || resp.equals("S"));
Arrays_multidim.VER(num);
}
public static void main(String[] args) {
int fila = 2, col = 3;
int[][] numeros = new int[fila][col];
Arrays_multidim.INSERTA(numeros);
Arrays_multidim.VER(numeros);
Arrays_multidim.VER_COLUMNAS(numeros);
Arrays_multidim.BUSCA_MAYOR(numeros);
Arrays_multidim.SUMAR(numeros);
Arrays_multidim.ESCOGE_INSERTA(numeros);
}
}
Ejercicio 4
Vamos a practicar con objetos y métodos con este nuevo ejercicio
Crea una clase Bombilla y un programa que cree objetos Bombilla y utilice todas las propiedades y métodos.
- estado: si está apagada o encendida (boolean). Por defecto false
- potencia: en vatios (int)
- color: color de la bombilla (String)
- horas: horas que puede estar encendida (float). Por defecto 10
- encender: si quedan horas enciende la bombilla, pone la propiedad estado = true y pide por teclado cuánto tiempo estará encendida. Resta el tiempo de la propiedad horas.
- apagar: pone la propiedad estado = false
- ver_estado: devuelve el estado de la bombilla
- cambia_potencia: se le pasa una potencia por parámetro y la sustituye por lo que hay en la propiedad potencia
- ver_potencia: devuelve la potencia de la bombilla
- cambia_color: se le pasa el color por parámetro y si la bombilla está encendida la apaga y luego cambia el color.
- ver_color: imprime por pantalla el color de la bombilla
- recargar: pregunta cuántas horas quiere el usuario recargar y las suma a la propiedad horas
Solución
Clase Bombilla
import java.util.Scanner;
class Bombilla {
boolean estado;
float potencia;
String color;
float horas = 10;
public void encender() {
float tiempo;
Scanner teclado = new Scanner(System.in);
if(horas > 0) {
estado = true;
System.out.println("La bombilla esta encendida\n");
System.out.println("Quedan "+horas+" horas de uso\n");
System.out.println("Cuantas horas va a estar encendida la bombilla?\n");
tiempo = teclado.nextFloat();
if(horas >= tiempo) {
horas=horas-tiempo;
System.out.println("La bombilla estara encendida " + tiempo + " horas\n");
System.out.println("Ahora quedan " + horas + " horas de uso\n");
}
else
System.out.println("Se ha pasado del limite de horas, la bombilla no se encendera\n");
}
else
System.out.println("La bombilla no se puede encender, recargue horas. Opcion 8\n");
}
public void apagar() {
estado = false;
System.out.println("La bombilla esta apagada\n");
}
public boolean ver_estado() {
return estado;
}
public void cambia_potencia(float pot) {
potencia = pot;
}
public float ver_potencia() {
return potencia;
}
public void cambia_color(String cor) {
if(estado)
APAGAR(); // estado = false;
color = cor;
}
public void ver_color() {
System.out.println("El color es \n"+color);
}
public void RECARGAR() {
float recarga;
Scanner teclado = new Scanner(System.in);
System.out.println("Cuantas horas quiere recargar?\n");
recarga = teclado.nextFloat();
horas=horas+recarga;
System.out.println("Ahora quedan " + horas + " horas de uso\n");
}
}
Programa Main Bombilla
import java.util.Scanner;
class mainbombilla {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int opcion;
boolean onoff;
float pot=0,potencia;
String color;
Bombilla objeto = new Bombilla();
do{
System.out.println("1-ENCENDER ");
System.out.println("2-APAGAR ");
System.out.println("3-VER ESTADO");
System.out.println("4-CAMBIAR POTENCIA ");
System.out.println("5-VER POTENCIA ");
System.out.println("6-CAMBIA COLOR ");
System.out.println("7-VER COR ");
System.out.println("8-RECARGAR ");
System.out.println("0-SALIR");
System.out.println("Introduce opcion ");
opcion=teclado.nextInt();
switch(opcion) {
case 1:
objeto.encender();
break;
case 2:
objeto.apagar();
break;
case 3:
onoff = objeto.ver_estado();
if(onoff)
System.out.println("La bombilla esta encendida\n");
else
System.out.println("La bombilla esta apagada\n");
break;
case 4:
System.out.println("Introduce nueva potencia \n");
pot=teclado.nextFloat();
objeto.cambia_potencia(pot);
break;
case 5:
potencia=objeto.ver_potencia();
System.out.println("La potencia es \n"+potencia);
break;
case 6:
System.out.println("Introduce nuevo color\n");
color=teclado.next();
objeto.cambia_color(color);
break;
case 7:
objeto.ver_color();
break;
case 8:
objeto.recargar();
break;
case 0:
System.out.println("Adios");
break;
default:
System.out.println("Error. Introduce un valor del menu");
break;
}
} while(opcion != 0);
}
}
Más ejercicios de Java
Me gusta esto:
Me gusta Cargando...
Relacionado
Una idea sobre “Ejercicios de iniciación Java 3”
muy bueno