Ejercicios Básicos 3 Iniciación Java

Ejercicios de Iniciación Java 3

Ejercicios de Iniciación Java 3

Ejercicios para comenzar a programar en Java. Segunda parte.

Ejercicios

1. 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("*******************************");
							}
						}
					}
				}
			}
		}
	}
}

2. 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\u00f1o 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.");
		}
	}
}

3. 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);
    }
}

4. Crea una clase Bombilla y un programa que cree objetos Bombilla y utilice todas las propiedades y métodos.

  • Propiedades
  1. estado: si está apagada o encendida (boolean). Por defecto false
  2. potencia: en vatios (int)
  3. color: color de la bombilla (String)
  4. horas: horas que puede estar encendida (float). Por defecto 10
  • Métodos
  1. 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.
  2. apagar: pone la propiedad estado = false
  3. ver_estado: devuelve el estado de la bombilla
  4. cambia_potencia: se le pasa una potencia por parámetro y la sustituye por lo que hay en la propiedad potencia
  5. ver_potencia: devuelve la potencia de la bombilla
  6. cambia_color: se le pasa el color por parámetro y si la bombilla está encendida la apaga y luego cambia el color.
  7. ver_color: imprime por pantalla el color de la bombilla
  8. 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 "+tempo+" 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 Java

Si te ha gustado no olvides compartir en redes sociales.

Espero que te haya servido. Cualquier duda deja un comentario. Un saludo

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
Ir a la barra de herramientas