Вы находитесь на странице: 1из 17

public class Ejercicio0101 {

public static void main(String[] args) {

System.out.println("Manuel Fernández Ruiz");

System.out.println("954873132");

System.out.println("LO QUE QUIERAS ESCRIBIR Y COMO QUIERAS ESCRIBIRLO799ÁóÑéú00");

Añadir ln después de print para dejar una línea cuando acabe el texto.

TEMA 2

Tipo de variable Nombre = Valor

Int x = 47

Double y = 13

TIPO USO TAMAÑO RANGO


byte Entero corto 8 bits De -128 a 127
short Entero 16 bits De -32768 a 32767
int Entero 32 bits De -2147483648 a 2147483647
long Entero largo 64 bits ± 9223372036854775808
float Real precisión sencilla 32 bits De -1032 a 1032
double Real precisión doble 64 bits De -10300 a 10300
boolean lógico 1 bit True o false (Verdadero o falso)
char texto 16 bits Cualquier carácter (a ñ & ! $ t)

public class Ejercicio0201 {

public static void main(String[] args) {

int x = 144;

int y = 999;

int suma = x + y;

int resta = x - y;

int mult = x * y;

double division;
division = (double)x / (double)y;

System.out.println("La suma de x e y es igual a " + suma);

System.out.println("La resta de x e y es igual a " + resta);

System.out.println("La multiplicación de x e y es igual a " + mult);

System.out.println("La división de x e y es igual a " + division);

Puedo poner variables dentro del significado de una variable, como aparece arriba en la suma
resta multiplicación y división. Aunque en la división he tenido que convertir las variables
enteras ``x´´ e ``y´´ poniendo ``(double)´´ antes de cada variable entera que deba convertir.

Para mostrar resultados por pantalla (la suma de dos variables, por ejemplo) se escribe el
system.out.print normal (o con ln al final), y después de las últimas comillas pero antes del
último paréntesis se pone el nombre de la variable que contiene el resultado con un ``+´´
delante. Quedaría así:

System.out.println("La suma de x e y es igual a " + suma);

Como al principio declaramos que la variable int suma es igual a x + y; ya sólo tiene que hacer
lo que se le indica, es decir, sumarlos y mostrar el resultado en pantalla después del texto.

public class Ejercicio0203 {

public static void main(String[] args) {

String miNombre = "Manuel Fernández Ruiz";

String miDireccion = "Utrera, Sevilla";

int miTelefono = 954873132;

System.out.println(miNombre);

System.out.println(miDireccion);

System.out.println(miTelefono);

El tipo de variable String (IMPORTANTE ESCRIBIR LA ‘‘S’’ EN MAYÚSCULA) se usa para las
variables cuyo significado es texto, poniéndolo con la primera letra de la segunda palabra en
mayúscula, además de su significado entre comillas.

Como en el ejemplo de arriba.


TEMA 3

import java.util.Scanner;

public class Ejercicio0301 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("Por favor, inserte el primer número: ");

int x = teclado.nextInt();

System.out.println("Por favor, inserte el segundo número: ");

int y = teclado.nextInt();

System.out.println("La multiplicación es: "+(x*y));

} }

Si el programa va a pedir en algún momento que el usuario escriba algo para interaccionar con
eso, hay que usar Scanner. Al principio del todo, añadimos `` import java.util.Scanner;´´.

Pero eso no es todo, si te fijas en el ejercicio de justo aquí arriba verás que además, se debe de
añadir `` Scanner teclado = new Scanner(System.in);´´ antes de los mensajes en los que se
pedirá que introduzcas los datos que sean. Tan sólo quedaría declarar como variable cada dato
que se ha pedido que introduzcamos, de uno en uno, además de darles nombre y el tipo, por
ejemplo:

System.out.println("Por favor, inserte el primer número: ");

int x = teclado.nextInt();

System.out.println("Por favor, inserte el segundo número: ");

int y = teclado.nextInt();

Si en vez de una int necesitase una double, sería así `` double x = teclado.nextDouble();´´.
Además, la parte donde pone ``teclado´´ se puede nombrar como quieras.

En el caso de que se use Scanner para pedir que introduzcamos una o más palabras, ya
sabemos que hay que usar String pero, aquí se escribiría así: string loQueSea = s.nextLine();.

Para mostrar un resultado sin declararlo antes como variable, se puede hacer una operación
matemática al final de un system.out.print. También se añade un ``+´´ antes. Por ejemplo:

System.out.print("Resultado"+(x*y)); o también System.out.print("Área de triángulo"+(x*y)/2);

Otro ejemplo:

import java.util.Scanner;

public class Ejercicio0309 {


public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("¿Quieres saber el volumen de un cono? ");

System.out.println("Por favor, inserte cuánto mide su radio: ");

float x = teclado.nextFloat();

System.out.println("Por favor, inserte cuánto mide su altura: ");

float y = teclado.nextFloat();

System.out.println("El área de tu cono es: "+(1.04*(x*x))*y);

System.out.println("Gracias, y vuelva pronto. ");

} }

Si te fijas, el penúltimo system.out.print es un poco lioso, en este tipo de ocasiones es mejor


declarar una variable con el nombre resultado (por ejemplo, puedes ponerle como quieras) y
decirle al ordenador que ``resultado´´ significa lo que yo quiera que muestre (una suma, una
resta, una división… en el ejercicio de arriba hay muchas operaciones que pueden ser difíciles
de leer. Esta es otra forma de hacerlo más fácil de entender:

import java.util.Scanner;

public class Ejercicio0002 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("¿Quieres saber el volumen de un cono? ");

System.out.println("Por favor, inserte cuánto mide su radio: ");

double x = teclado.nextDouble();

System.out.println("Por favor, inserte cuánto mide su altura: ");

double y = teclado.nextDouble();

double resultado = 1.04 * x * x * y;

System.out.println("El área de tu cono es: "+resultado);

} }

PARA ESCANEAR PALABRAS se usa String casi igual que cuando tratamos con números.

import java.util.Scanner;

public class Ejercicio0009 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);


System.out.println("Introducir tipo IVA (general, reducido o superreducido)");

String tipoImpuesto = System.console().readLine();

System.out.println("El tipo de IVA introducido es: "+tipoImpuesto);

} }

Dia = dia.toLowerCase(); para que reconozca las mayúsculas en un programa con minúsculas

Otro ejemplo pero en el tema 4 y con IF-ELSE

TEMA 4

import java.util.Scanner;

public class Ejercicio0312 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("\n¿QUIERES CALCULAR EL PRECIO FINAL DE UN PRODUCTO? \n");

System.out.println("\nPor favor, introduce la base imponible (precio antes de impuestos). \n");

double baseImponible = teclado.nextDouble();

System.out.println("\nPor favor, introduce el tipo de IVA aplicado (general, reducido o


superreducido). \n");

String tipoImpuesto = System.console().readLine();

double precioSinCodigo = 0;

if (tipoImpuesto.equals("general")) {

System.out.println("\nSe te aplicará un IVA del 21%\n");

precioSinCodigo = baseImponible+(baseImponible*0.21);

} else {

if (tipoImpuesto.equals("reducido")) {

System.out.println("\nSe te aplicará un IVA del 10%\n");

precioSinCodigo = baseImponible+(baseImponible*0.1);

} else {

if (tipoImpuesto.equals("superreducido")) {
System.out.println("\nSe te aplicará un IVA del 4%\n");
precioSinCodigo = baseImponible+(baseImponible*0.04);
} else {
System.out.println("\nNo me jodas, esa opción no estaba.\n");

} } }

System.out.println("\nEl precio total sin descuento es de: \n"+precioSinCodigo);


System.out.println("\n¿Qué código de descuento vas a usar?. \n");

System.out.println("\nExisten: nopro, mitad, meno5 y 5porc. \n");

String codigoDescuento = System.console().readLine();

double precioTotal = 0;

if (codigoDescuento.equals("nopro")) {

System.out.println("\nNo se te aplicará ningún descuento\n");

precioTotal = precioSinCodigo;

} else {

if (codigoDescuento.equals("mitad")) {

System.out.println("\nSe te aplicará un descuento del 50%.\n");

precioTotal = precioSinCodigo/2;

} else {

if (codigoDescuento.equals("meno5")) {
System.out.println("\nSe te aplicará un descuento de 5 euros.\n");

precioTotal = precioSinCodigo-5;

} else {

if (codigoDescuento.equals("5porc")) {
System.out.println("\nSe te aplicará un descuento del 5%.\n");
precioTotal = precioSinCodigo-(precioSinCodigo*0.05);

} else {
System.out.println("\nNo me jodas, esa opción no estaba.\n");

} } } }

System.out.println("\nLa base imponible de su producto es: "+baseImponible);

System.out.println("\nEl tipo de IVA aplicado a su producto es: "+tipoImpuesto);

System.out.println("\nEl tipo de descuento aplicado a su producto es: "+codigoDescuento);

System.out.println("\n\n\nEl precio final de su producto es: "+precioTotal);

} }

En este gran ejemplo vemos que hay cosas nuevas, después de saber pedir por teclado
números y palabras hay que saber interactuar con estos datos de una forma u otra,
dependiendo de cuál sea la respuesta. Mira este fragmento del programa de justo arriba:

double precioSinCodigo = 0;

if (tipoImpuesto.equals("general")) {
System.out.println("\nSe te aplicará un IVA del 21%\n");

precioSinCodigo = baseImponible+(baseImponible*0.21);

} else {

if (tipoImpuesto.equals("reducido")) {

System.out.println("\nSe te aplicará un IVA del 10%\n");

precioSinCodigo = baseImponible+(baseImponible*0.1);

} else {

if (tipoImpuesto.equals("superreducido")) {
System.out.println("\nSe te aplicará un IVA del 4%\n");
precioSinCodigo = baseImponible+(baseImponible*0.04);
} else {
System.out.println("\nNo me jodas, esa opción no estaba.\n");

} } }

Primero he declarado la variable double precioSinCodigo = 0 para que pueda darle después el
significado que me convenga dependiendo de los if-else. Como vale cero, su significado valdrá
en cada caso algo distinto, tal y como vemos arriba en cada tercera línea de un if.

if (tipoImpuesto.equals("general")) { significa que si la variable tipoImpuesto es igual que


general(es decir, si cuando se te pidió que introdujeras el tipo de variable pusiste general,

System.out.println("\nSe te aplicará un IVA del 21%\n");

entonces este if se activará y aplicará un 21% a la variable precioSinCodigo, tal y como se le


ordena justo aquí abajo (si hubieras escrito reducido o superreducido sería del 10% o del 4%)

precioSinCodigo = baseImponible+(baseImponible*0.21);

peeero, si no ocurre lo que está dentro del paréntesis detrás del if, entonces ocurrirá lo que
haya dentro del else, sea lo que sea, como si es otro if con otro else 8 veces seguidas.

} else {

IMPORTANTE recordarlo: los if siempre hay que cerrarlos con { } antes de poner los else,
pero los else no se cierran hasta que hayan acabado todos los if-else. Mira el ejemplo de arriba
joder.

Si quisiéramos una comparación pero en lugar de palabras (como en el ejemplo de arriba)


quisiésemos comparar números, no se usaría equals ni nada de eso, es más simple. Ejemplo:

import java.util.Scanner;

public class Ejercicio030010 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("AVERIGUAR SI LA FECHA INTRODUCIDA ES CORRECTA. ");


System.out.println("Por favor, introduzca el día del mes. ");

double numDia = teclado.nextDouble();

System.out.println("Por favor, introduzca el número del mes. ");

double numMes = teclado.nextDouble();

System.out.println("Por favor, introduzca el año. ");

double numAño = teclado.nextDouble();

if (numDia > 31 || numMes > 12) {

System.out.println("Esa fecha no es correcta. ");

} else {

if (numMes == 2 && numDia > 28) {

System.out.println("Esa fecha no es correcta. ");

} else {

if (numMes==4 || numMes==6 || numMes==9 ||


numMes==11 && numDia > 30){

System.out.println("Esa fecha no es correcta. ");

} else {

System.out.println("Esa fecha sí es correcta. ");

} } } } }

Para COMPARAR NÚMEROS se pone también entre paréntesis la condición (lo que se
tiene que cumplir) para que el if ocurra. Pero como dije, no se usa equals como con string y las
palabras.

== significa igual < menor que > mayor que

>= mayor o igual que ¡= distinto <= menor o igual que

&& significa y || significa o ¡ significa no

ELEVAR UN NÚMERO A CUALQUIER POTENCIA se declara el número en una variable y luego,


en el paréntesis del Math.pow se debe poner primero el nombre de la variable y luego el
número al que se quiere elevar, por ejemplo:

public class Ejercicio03001{

public static void main(String [] args) {

double numero = 4

System.out.println("EL NÚMERO 4 AL CUADRADO ES: " +Math.pow(numero, 2));


System.out.println("EL NÚMERO 4 AL CUBO ES: " +Math.pow(numero, 3));

} }

Para usar el número PI hay que escribirlo como si fuera un número más pero de esta forma:

System.out.println("La longitud de la circunferencia sería de: "+(2*Math.PI) * radio);

System.out.println("El área de la circunferencia sería de: "+Math.PI * Math.pow (radio, 2.0));

DO – WHILE: EMPEZAMOS CON LOS BUCLES.


import java.util.Scanner;

public class Ejercicio030005 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("ESCRIBE LO QUE QUIERAS. ");

String texto = System.console().readLine();

do {

System.out.println("Vuelve a escribir lo que quieras. ");

texto = System.console().readLine();

} while (!texto.isEmpty() );

System.out.println("Se acabó. ");

} }

Mientras el programa no reciba un texto vacío, que es esto (texto.isEmpty() ); con el símbolo !,
hará lo que se encuentre dentro del ‘‘do’’. Aunque se podría poner para que acabe cuando
ocurra cualquier otra cosa, por ejemplo hasta que se escribiese ‘‘no’’, entonces:
En lugar de así } while (!texto.isEmpty() ); sería de esta forma  } while (!texto.equals("no") );

Cuando se usa DO-WHILE con números no es muy distinto.


import java.util.Scanner;

public class Ejercicio0011 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println ("BIENVENIDO AL CONTADOR.");


System.out.println ("Escribe 0 si quieres salir, aunque cuando el llegue a 13 se acabará.");

int algo = 0;

int contador = 0 ;

do { System.out.println ("Escribe algo.");

algo = teclado.nextInt();

System.out.println ("Contando tus algos... ");

contador += 1;

System.out.println ("\n\nHas contado "+(contador));

} while (contador<13 && algo!=0);

System.out.println ("\nGOODBYE ");

} }

Aquí he puesto dos variables enteras con valor 0. La primera para meter en ella los números
que vamos introduciendo, pero como no queremos mostrar estos datos por pantalla; existe
una segunda variable con valor 0 (la que se llama contador) la cual usamos como contador.

Dentro del ‘‘do’’ estamos ordenando que se le sume uno al contador (contador += 1;) y lo hará
cada vez que se cumpla la condición del ‘‘while’’.

PARA SACAR LA RAÍZ CUADRADA Se usa Math.sqrt(variable);


public class Ejercicio0409 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println("VAMOS A CALCULAR X EN LA SIGUIENTE FÓRMULA:


(AX^2+BX+C = 0) ");

double a, b, c, x1, x2, potencia, raiz = 0 ;

System.out.println("Por favor, inserte el valor de a: ");

double a = teclado.nextDouble();

System.out.println("Por favor, inserte el valor de b: ");

double b = teclado.nextDouble();

System.out.println("Por favor, inserte el valor de c: ");


double c = teclado.nextDouble();

potencia = Math.pow(b,2) - (4 * a *c);

x1 = (-b - Math.sqrt(potencia)/ 2*a);

x2 = (-b + Math.sqrt(potencia)/ 2*a);

System.out.println("El valor de x1 es: " +x1);

System.out.println("El valor de x2 es: " +x2);

} }

Cuando se escanea una palabra se usa un scanner distinto al de los números y luego todo igual
pero solo .next (cuando sea una frase se pone .nextLine)

PROGRAMA PARA CONTAR EL TIEMPO QUE QUEDA HASTA MEDIANOCHE


public class Ejercicio0411 {

public static void main(String[] args) {

System.out.print("VAMOS A CALCULAR CUÁNTO QUEDA PARA MEDIANOCHE. \n");

System.out.println("\nPrimero introducirá la hora y luego los minutos.\n");

System.out.print("Hora: ");

int hora = Integer.parseInt(System.console().readLine());

System.out.print("Minuto: ");

int minuto = Integer.parseInt(System.console().readLine());

int segundosTranscurridos = (hora * 3600) + (minuto * 60);

int segundosHastaMedianoche = (24 * 3600) - segundosTranscurridos;

int minutosTotal = segundosHastaMedianoche / 60;

int horasTotal = minutosTotal / 60;

System.out.println("Desde las " + hora + ":" + minuto + " hasta la medianoche faltan " +
segundosHastaMedianoche + " segundos.");

System.out.println("O también " + minutosTotal + " minutos.");

System.out.println("Y, por último, " + horasTotal + " horas y " + (minutosTotal-


(horasTotal*60)) + " minutos.");

} }

Para mostrar variables en medio del texto de un system.out.print se pone el nombre de la


variable entre " + nombreVariable + ". Es importante poner las comillas al principio y al final.
import java.util.Scanner;

public class Ejercicio040016 {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.println ("\nVAMOS A COMPROBAR SI TU PAREJA TE ENGAÑA CON OTRA


PERSONA.\n");

System.out.println ("\nSe te hará una serie de preguntas, sólo responde s o n.\n");

String respuesta = " ";

int contador = 0 ;

System.out.println ("\n¿Tu pareja parece estar más inquieta de lo normal sin ningún
motivo aparente?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me


vale de nada (me lo tomaré como un no.\n");

System.out.println ("\n¿Ha aumentado sus gastos de vestuario?\n");

respuesta = System.console().readLine();
if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me


vale de nada (me lo tomaré como un no.\n");

System.out.println ("\n¿Ha perdido el interés que mostraba anteriormente por


ti?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me


vale de nada (me lo tomaré como un no.\n");

System.out.println ("\n¿Ahora se afeita y se asea con más frecuencia (si es


hombre) o ahora se arregla el pelo y se asea con más frecuencia (si es mujer)?\n");

respuesta = System.console().readLine();
TEST DE INFIDELIDAD CON MUCHOS IF-ELSE Y UN CONTADOR
if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me vale de nada (me lo tomaré como un no.\n");

} }

System.out.println ("\n¿No te deja que mires la agenda de su teléfono móvil?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me vale de nada (me lo tomaré como un no.\n");

} }

System.out.println ("\n¿A veces tiene llamadas que dice no querer contestar cuando estás tú
delante?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me vale de nada (me lo tomaré como un no.\n");

} }

System.out.println ("\n¿Últimamente se preocupa más en cuidar la línea y/o estar


bronceado/a?\n");
respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me vale de nada (me lo tomaré como un no.\n");

} }

System.out.println ("\n¿Muchos días viene tarde después de trabajar porque dice tener mucho
más trabajo?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me vale de nada (me lo tomaré como un no.\n");

} }

System.out.println ("\n¿Has notado que últimamente se perfuma más?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me vale de nada (me lo tomaré como un no.\n");


} }
System.out.println ("\n¿Se confunde y te dice que ha estado en sitios donde no ha ido
contigo?\n");

respuesta = System.console().readLine();

if (respuesta.equals("s")) {

contador += 3;

} else {

if (respuesta.equals("n")) {

contador += 0;

} else {

System.out.println ("\nEsa respuesta no me


vale de nada (me lo tomaré como un no.\n");

} }

System.out.println ("\nHas obtenido una puntuación de " + contador + " sobre 30.\n");

if (contador<11) {

System.out.println ("\n¡Enhorabuena! Tu pareja parece ser totalmente fiel.\n");

} else {

if (contador<23) {

System.out.println ("\nQuizás exista el peligro de otra persona en su


vida o en su mente, aunque seguramente será algo sin importancia. No bajes la guardia.\n");

} else {

System.out.println ("\nTu pareja tiene todos los ingredientes


para estar viviendo un romance con otra persona. Te aconsejamos que indagues un poco más
y averigües que es lo que está pasando por su cabeza.\n");

} }

System.out.println ("\nGOODBYE ");

}
DUDAS CORRIGIENDO EN CLASE
Usar variable.toLowerCase() para que reconozca mayúsculas y minúsculas.

Bucle anidado  un bucle dentro de otro

Para los ejercicios de pirámides se usa un for dentro de otro, el primero para columnas y el
segundo para filas. En el segundo, se le pone un – en vez de un + al valor i, para que vaya
quitando un símbolo en cada fila y así le dé forma de pirámide al “dibujo”.

Вам также может понравиться