1. Introduce dos números enteros por teclado y divídelos, el resultado debe tener decimales.
Nota: la dificultad es que cuando dividimos en java (/), nos devuelva el resultado entero. Existe otra operación que se llama resto (%) y lo que hace es devolvernos el resto de la división. Así que compaginando ambas y con un poco de imaginación o ayuda de google se puede hacer el ejercicio.
Nota: la dificultad es que cuando dividimos en java (/), nos devuelva el resultado entero. Existe otra operación que se llama resto (%) y lo que hace es devolvernos el resto de la división. Así que compaginando ambas y con un poco de imaginación o ayuda de google se puede hacer el ejercicio.
import java.util.Scanner; //vimos que era necesario importarse esta clase para poder introducir (escanear), números por pantalla.
class DivisionInt{ //nombre que le damos al programilla, puedes poner el que quieras.
public static void main(String[]args){ //recuerda siempre se pone esto para empezar.
int A=0; //creo una variable entera y de momento le doy valor 0, luego cambiará este valor. Es por dar un valor inicial, podías haber puesto cualquier otro entero.
int B=0; //creo varialble entera llamada B y la inicializo con valor 0.
Scanner sc=new Scanner(System.in);
System.out.println("Introduce el primer número: ");
A=sc.nextInt(); //recuerda que es para que me pida el valor de A en pantalla y lo introduzca por teclado.
System.out.println("Introduce el segundo número: ");
B=sc.nextInt(); //igual para el valor B.
if(B!=0 ) //Si B es diferente de cero haz lo de abajo (la división)
System.out.println(A+ "/"+ B+ "="+(A/B)+","+((A%B)*10/B)); //lo que va entre comillas es para que lo pinte en pantalla de forma literal,los símbolos + son para que haga más cosas y el resto son operaciones. Si te das cuenta no hace más que dividir A/B, luego dibujar una coma y después de la coma coger el resto y multiplicarlo por 10 y dividirlo entre B, que aunque parezca muy raro es lo que hacemos en una división normal. Prueba por ejemplo con 17 entre 3 y verás que sale bien.
else //sino, es decir B=0, mal asunto, porque no se puede dividir.
System.out.println("No se puede dividir entre cero");
}
}
class DivisionInt{ //nombre que le damos al programilla, puedes poner el que quieras.
public static void main(String[]args){ //recuerda siempre se pone esto para empezar.
int A=0; //creo una variable entera y de momento le doy valor 0, luego cambiará este valor. Es por dar un valor inicial, podías haber puesto cualquier otro entero.
int B=0; //creo varialble entera llamada B y la inicializo con valor 0.
Scanner sc=new Scanner(System.in);
System.out.println("Introduce el primer número: ");
A=sc.nextInt(); //recuerda que es para que me pida el valor de A en pantalla y lo introduzca por teclado.
System.out.println("Introduce el segundo número: ");
B=sc.nextInt(); //igual para el valor B.
if(B!=0 ) //Si B es diferente de cero haz lo de abajo (la división)
System.out.println(A+ "/"+ B+ "="+(A/B)+","+((A%B)*10/B)); //lo que va entre comillas es para que lo pinte en pantalla de forma literal,los símbolos + son para que haga más cosas y el resto son operaciones. Si te das cuenta no hace más que dividir A/B, luego dibujar una coma y después de la coma coger el resto y multiplicarlo por 10 y dividirlo entre B, que aunque parezca muy raro es lo que hacemos en una división normal. Prueba por ejemplo con 17 entre 3 y verás que sale bien.
else //sino, es decir B=0, mal asunto, porque no se puede dividir.
System.out.println("No se puede dividir entre cero");
}
}
2. Vamos a poner un condicional. Dada un número (entero), dime si es positivo o negativo, si es para o impar, si es múltiplo de 5 y de 10 y si es mayor que 100.
class Condicional{ //nombre del programa, pon el que quieras.
public static void main(String[]args){ //siempre hay que poner esta línea.
int C=6; //creación de la variable, se inicia con valor 6, luego puedo cambiarla.
System.out.println("*************PROGRAMA BASICO 7 CONDICIONAL*************** "); //para que quede bonito.
System.out.println("VARIABLES: "); //para que quede bonito.
System.out.println("C= "+C+ "; "); //imprime en pantalla el valor de C y luego un ;
System.out.println((C>=0)? "ES POSITIVO " : "ES NEGATIVO"); //dice si C>0 imprime "es positivo" y sino imprime "es negativo".
System.out.println((C%2==0)? "ES PAR " : "ES IMPAR"); //si el resto de dividir C entre dos es cero imprime es par, sino imprime es impar.
System.out.println((C%5==0)? "ES MÚLTIPLO DE 5 " : "NO ES ES MÚLTIPLO DE 5"); //Si el resto de dividir entre cinco es cero imprime "es múltiple de cinco", sino imprime "no lo es".
System.out.println((C%10==0)? "ES MÚLTIPLO DE 10 " : "NO ES ES MÚLTIPLO DE 10"); //igual con el 10.
System.out.println((C-100>=0)? "ES MAYOR O IGUAL QUE 100" : "ES MAYOR O IGUAL QUE 100"); //igual para saber si es mayor que 100.
System.out.println("*******************************************************"); //esto es para que quede bonito.
System.out.println("FIN DE PROGRAMA");
System.out.println("*******************************************************");
}
}
3. Para que aprendamos definitivamente a introducir datos por teclado.
Haz un programa que te pida por teclado la hora, los minutos y los segundos y luego te imprima en pantalla el resultado, todo seguido.
Nota: ten en cuenta que no puede haber más de 24 horas y 60 segundos o minutos.
Es un poco largo y el resultado no es muy espectacular, pero ayudará a afianzar el tema de introducir datos por teclado. Lo comentaré poco, pues ya hemos hecho cosas parecidas.
import java.util.Scanner; //es necesario importar esta clase ya hecha.
class Hora{ //nombre del programa, que es lo mismo que clase.
public static void main(String[]args){
int h=0; //creo las variables y les doy valor inicial.
int m=0;
int s=0;
Scanner sc=new Scanner(System.in); //para introducir las horas por teclado.
System.out.println("Introduce las horas: ");
h=sc.nextInt();
if(h>=0){
if(h>24){ //hay tener en cuenta que no valen horas negativas ni mayores de 24.
System.out.println("Error formato de horas (0-24)");
System.out.println("Introduce las horas: ");
h=sc.nextInt();
}
}
else{
System.out.println("Error no existen horas negativas");
System.out.println("Introduce las horas: ");
h=sc.nextInt();
}
System.out.println("Introduce los minutos: ");
m=sc.nextInt();
if(m>=0){
if(m>60){ //hay tener en cuenta que no existen minutos negativos ni mayores de 60.
System.out.println("Error formato de minutos (0-60)");
System.out.println("Introduce los minutos: ");
m=sc.nextInt();
}
}
else{
System.out.println("Error no existe minutos negativos");
System.out.println("Introduce los minutos: ");
m=sc.nextInt();
}
System.out.println("Introduce los segundos: ");
s=sc.nextInt();
if(s>=0){
if(s>60){ //lo mismo con los segundos que con los minutos.
System.out.println("Error formato de segundos (0-60)");
System.out.println("Introduce los segundos: ");
s=sc.nextInt();
}
}
else{
System.out.println("Error no existen segundos negativos");
System.out.println("Introduce los segundos: ");
s=sc.nextInt();
}
//con esta sentencia que sigue, se muestra el resultado en pantalla.
System.out.println("Son las "+h+" horas,"+m+" minutos,"+s+" segundos.");
}
}
public static void main(String[]args){ //siempre hay que poner esta línea.
int C=6; //creación de la variable, se inicia con valor 6, luego puedo cambiarla.
System.out.println("*************PROGRAMA BASICO 7 CONDICIONAL*************** "); //para que quede bonito.
System.out.println("VARIABLES: "); //para que quede bonito.
System.out.println("C= "+C+ "; "); //imprime en pantalla el valor de C y luego un ;
System.out.println((C>=0)? "ES POSITIVO " : "ES NEGATIVO"); //dice si C>0 imprime "es positivo" y sino imprime "es negativo".
System.out.println((C%2==0)? "ES PAR " : "ES IMPAR"); //si el resto de dividir C entre dos es cero imprime es par, sino imprime es impar.
System.out.println((C%5==0)? "ES MÚLTIPLO DE 5 " : "NO ES ES MÚLTIPLO DE 5"); //Si el resto de dividir entre cinco es cero imprime "es múltiple de cinco", sino imprime "no lo es".
System.out.println((C%10==0)? "ES MÚLTIPLO DE 10 " : "NO ES ES MÚLTIPLO DE 10"); //igual con el 10.
System.out.println((C-100>=0)? "ES MAYOR O IGUAL QUE 100" : "ES MAYOR O IGUAL QUE 100"); //igual para saber si es mayor que 100.
System.out.println("*******************************************************"); //esto es para que quede bonito.
System.out.println("FIN DE PROGRAMA");
System.out.println("*******************************************************");
}
}
3. Para que aprendamos definitivamente a introducir datos por teclado.
Haz un programa que te pida por teclado la hora, los minutos y los segundos y luego te imprima en pantalla el resultado, todo seguido.
Nota: ten en cuenta que no puede haber más de 24 horas y 60 segundos o minutos.
Es un poco largo y el resultado no es muy espectacular, pero ayudará a afianzar el tema de introducir datos por teclado. Lo comentaré poco, pues ya hemos hecho cosas parecidas.
import java.util.Scanner; //es necesario importar esta clase ya hecha.
class Hora{ //nombre del programa, que es lo mismo que clase.
public static void main(String[]args){
int h=0; //creo las variables y les doy valor inicial.
int m=0;
int s=0;
Scanner sc=new Scanner(System.in); //para introducir las horas por teclado.
System.out.println("Introduce las horas: ");
h=sc.nextInt();
if(h>=0){
if(h>24){ //hay tener en cuenta que no valen horas negativas ni mayores de 24.
System.out.println("Error formato de horas (0-24)");
System.out.println("Introduce las horas: ");
h=sc.nextInt();
}
}
else{
System.out.println("Error no existen horas negativas");
System.out.println("Introduce las horas: ");
h=sc.nextInt();
}
System.out.println("Introduce los minutos: ");
m=sc.nextInt();
if(m>=0){
if(m>60){ //hay tener en cuenta que no existen minutos negativos ni mayores de 60.
System.out.println("Error formato de minutos (0-60)");
System.out.println("Introduce los minutos: ");
m=sc.nextInt();
}
}
else{
System.out.println("Error no existe minutos negativos");
System.out.println("Introduce los minutos: ");
m=sc.nextInt();
}
System.out.println("Introduce los segundos: ");
s=sc.nextInt();
if(s>=0){
if(s>60){ //lo mismo con los segundos que con los minutos.
System.out.println("Error formato de segundos (0-60)");
System.out.println("Introduce los segundos: ");
s=sc.nextInt();
}
}
else{
System.out.println("Error no existen segundos negativos");
System.out.println("Introduce los segundos: ");
s=sc.nextInt();
}
//con esta sentencia que sigue, se muestra el resultado en pantalla.
System.out.println("Son las "+h+" horas,"+m+" minutos,"+s+" segundos.");
}
}