Ejercicios java

Vamos a hacer un programa que nos pida un nombre y si la longitud del nombre es mayor de 10 nos diga ‘¡Que nombre más largo!’.

Cread un progrma que nos pida dos números y nos diga cual es el mayor.

Otro que nos pida dos números y nos diga si los dos son pares o los dos son impares.

Cread una función que nos calcule el área de un círculo y otra que nos calcule la circunferencia.
Con esta función cread un programa que nos vaya pidiendo radios y nos muestre el valor del área y de la circunferencia de un círculo con el radio que nos han dado. Cuando el usuario introduzca un 0 salimos del programa.

Cread una función a la que le pasemos una cadena y un número y nos devuelva esa cadena repetida n veces.
Con esa función cread otra a la que le pasemos una letra y haga lo siguiente:
si la longitud de la cadena que le pasamos es diferente de ‘1’ mostrar la cadena.
Si la longitud es 1 mostrar el arbolito siguiente hasta 5:
A
AA
AAA
AAAA
AAAAA

Cread una sobrecarga de la función para que podamos pasar un número que será el tamaño del arbolito.

package com.trifulcas.saludo;

import java.util.Scanner;

public class Ejercicios1 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		// Nombre más largo de 10
		System.out.println("Introduce tu nombre");
		String nombre=in.nextLine();
		
		if (nombre.length()>10) {
			System.out.println("Que nombre más largo");
		}
		
		// Número mayor
		System.out.println("Introduce el número 1");
		int a=in.nextInt();
		System.out.println("Introduce el número 2");
		int b=in.nextInt();
		System.out.println("El número mayor es "+Math.max(a, b));

		// Paridad de dos números
		System.out.println("Introduce el número 1");
		 a = in.nextInt();
		System.out.println("Introduce el número 2");
		 b = in.nextInt();

		if (esPar(a) == esPar(b)) {
			System.out.println("Los dos tienen la misma paridad");
		} else {
			System.out.println("Los dos tienen distinta paridad");
		}

		//Usando operador ternario
		System.out.println("Los dos tienen " + (esPar(a) == esPar(b) ? "la misma" : "distinta") + " paridad");

		in.close();
	}
	// Función que nos devuelve si un número es par
	public static boolean esPar(int num) {
		return num % 2 == 0;
	}

}

package com.trifulcas.saludo;

import java.util.Scanner;

public class Ejercicios2 {

	public static void main(String[] args) {
		double radio;
		Scanner in = new Scanner(System.in);
		do {
			System.out.println("Introduce el radio");
			radio = in.nextDouble();
			if (radio != 0) {
				System.out.println("El círculo de radio " + radio + " tiene una circunferencia de "
						+ circunferencia(radio) + " y un área de " + area(radio));
			}
		} while (radio != 0);
		in.close();
	}

	public static double area(double radio) {
		return Math.PI * radio * radio;
	}

	public static double circunferencia(double radio) {
		return Math.PI * radio * 2;
	}
}

package com.trifulcas.saludo;

import java.util.Scanner;

public class Ejercicio2b {

	public static void main(String[] args) {
		double radio;
		Scanner in = new Scanner(System.in);
		while (true) {
			System.out.println("Introduce el radio");
			radio = in.nextDouble();
			if (radio == 0) {
				break;
			}
			System.out.println("El círculo de radio " + radio + " tiene una circunferencia de " + circunferencia(radio)
					+ " y un área de " + area(radio));
		}
		in.close();
	}

	public static double area(double radio) {
		return Math.PI * radio * radio;
	}

	public static double circunferencia(double radio) {
		return Math.PI * radio * 2;
	}
}

package com.trifulcas.saludo;

public class Ejercicio3 {

	public static void main(String[] args) {
		System.out.println(arbol("hola"));
		System.out.println(arbol("J"));
		System.out.println(arbol("@"));
		System.out.println(arbol("@", 3));
		System.out.println(arbol("@", 8));
	}

	public static double iva(double precio) {
		return iva(precio,.21);
	}
	public static double iva(double precio,double iva) {
		return precio*(1+iva);
	}
	
	public static String arbol(String cadena) {
		return arbol(cadena, 5);
	}

	public static String arbol(String cadena, int veces) {
		if (cadena.length() != 1) {
			return cadena;
		}
		String res = "";
		for (int i = 0; i < veces; i++) {
			res += repetir(cadena, i + 1) + "\n";
		}
		return res;
	}

	public static String repetir(String cadena, int veces) {
		String res = "";
		for (int i = 0; i < veces; i++) {
			res += cadena;
		}
		return res;
	}
}

Sobrecarga


public static void main(String[] args) {
		saludo("Ana", 2);
		saludo("Juan", 3);
		saludo("Eva");
		saludo(3);
		int a = doble(7);
		System.out.println(a);
		int b = doble(doble(doble(3)));
		System.out.println(b);
		System.out.println(mayor(1,3));
		System.out.println(mayor(10,3));
	}

	// Esto es un método porque no devuelve nada
	static void saludo(String nombre, int n) {
		for (int i = 0; i < n; i++) {
			System.out.println("Hola " + nombre + " que tal");
		}
	}
	// SObre carga (overloading) de funciones. Distintos parámetros
	// Mismo nombre de función
	// Java llamará a la función que 'encaje' con los parámetros
	// Si no encaja ninguna, nos da un error
	// Podemos llamar a funciones entre sobrecargas o no
	static void saludo(String nombre) {
		saludo(nombre,1);
	}
	static void saludo(int n) {
		for (int i = 0; i < n; i++) {
			System.out.println("Hola que tal estás");
		}
	}
	// Esto sí es una función, porque devolvemos un valor
	static int doble(int numero) {
		return numero * 2;
	}

	static int mayor(int a, int b) {
		if (a > b) {
			b = a;
		}
		return b;
	}

Ejemplos funciones Java

public static void main(String[] args) {
		saludo("Ana", 2);
		saludo("Juan", 3);
		saludo("Eva", 1);
		int a = doble(7);
		System.out.println(a);
		int b = doble(doble(doble(3)));
		System.out.println(b);
		System.out.println(mayor(1,3));
		System.out.println(mayor(10,3));
	}

	// Esto es un método porque no devuelve nada
	static void saludo(String nombre, int n) {
		for (int i = 0; i < n; i++) {
			System.out.println("Hola " + nombre + " que tal");
		}
	}

	// Esto sí es una función, porque devolvemos un valor
	static int doble(int numero) {
		return numero * 2;
	}

	static int mayor(int a, int b) {
		if (a > b) {
			b = a;
		}
		return b;
	}

Ejemplos for y while

Cödigo para los ejemplos típicos de la tabla de multiplicar y la progresión geométrica:

	Scanner in = new Scanner(System.in);
		System.out.println("Introduce un número: ");
		int a = in.nextInt();
		for(int i=1;i<=10;i++) {
			System.out.println(i+" x "+a+" = "+(i*a));
		}
		
		System.out.println("Sucesión geométrica. \n Inicial: ");
		int inicial = in.nextInt();
		System.out.println("Razón geométrica: ");
		int razon = in.nextInt();
		System.out.println("Valor límite: ");
		int limite = in.nextInt();
		
		while(inicial<limite) {
			System.out.println(inicial);
			inicial*=razon;
		}

Bucles en Java

	// Bucles: while \ for
		// while en dos sabores: while() o do{}while()

		int a = 10;
		while (a < 10) {
			a++;
			System.out.println(a);
		}
		a = 10;
		do {
			System.out.println(a);
			a++;
		} while (a <= 10);

		// Pedir un número al usuario hasta que ponga un 0

		Scanner in = new Scanner(System.in);
		do {
			System.out.println("Introduce un número (0 para salir)");
			a = in.nextInt();
			System.out.println(a * 2);
		} while (a != 0);
		a = 1;
		while (a != 0) {
			System.out.println("Introduce un número (0 para salir)");
			a = in.nextInt();
			System.out.println(a * 2);
		}
		// For canónico. Os recomiendo tatuarselo en el antebrazo.
		for (int i = 0; i < 10; i++) {
			System.out.println(i);
		}

		for (int i = 0; i%7!=0; i++) {
			System.out.println(i);
		}
		
		for (int i = 0; i < 10; i += 2) {
			System.out.println(i);
		}
		int var = 0;
		for (; var < 10; var += 2) {
			System.out.println(var);
		}
		var = 0;
		for (; var < 10; ) {
			System.out.println(var);
			var += 2;
		}
		var = 0;
		for (; ; ) {
			System.out.println(var);
			var += 2;
			if (var>10) {
				break;
			}
		}

// Nada
		for (int i = 0; i%7!=0; i++) {
			System.out.println(i);
		}
		// Del 1 al 6
		// Nada
		// Solo 1
		for (int i = 1; i%7!=0; i++) {
			System.out.println(i);
		}

		// 0 1 2 3 5 6
		for (int i = 0; i < 10; i++) {
			if (i == 4) {
				// Nos salta el código siguiente hasta el final
				// Pero sigue con el bucle
				continue;
			}
			if (i == 7) {
				// Nos sale del bucle
				break;
			}
			System.out.println(i);
		}

Mini ejercicio

Crear un código que nos pida el nombre y la edad. Si es mayor o igual de 18 poner “Bienvenido “+nombre+” Puedes entrar”. En caso contrario poner: “Lo sentimos, “+nombre+” no puedes entrar.

public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		System.out.println("Introduce tu nombre:");
		String n = in.next();
		System.out.println("Introduce tu edad:");
		int a = in.nextInt();
		if (a>=18) {
			System.out.println("Bienvenido/a "+n+". Puedes entrar");
		} else {
			System.out.println("Lo sentimos, "+n+" no puedes entrar");

		}
		in.close();
	}

Pedir valores por la consola

package com.trifulcas.saludo;

import java.util.Scanner;

public class saludo {

	public static void main(String[] args) {

				Scanner in = new Scanner(System.in);
		System.out.println("Introduce tu nombre:");
		String n = in.next();
		System.out.println("Tu nombre " + n);
		int a = in.nextInt();
		System.out.println("Introduce un número:");
		in.close();
	}

}