Tengo el siguiente ejercicio propuesto y varias preguntas sobre el mismo:
Código java:
Ver originalpublic class Comprobaciones {
public boolean esSimetrico
(String cadena
){ // boolean esSimetrico=false;
for(int i=0; i<cadena.length(); i++)
if(cadena.charAt(i)!=cadena.charAt(cadena.length()-i-1))
return false;
return true;
}
public boolean esCapicua(int numero){
return esSimetrico(numero+"");
}
public boolean esPrimo(int numero){
for(int i=1; i<numero/2; i++)
if(numero % i==0)
return false;
return true;
}
public boolean esAntiguo(int numero){
if(numero >= 1900)
return false;
return true;
}
public boolean esPar(int numero){
if(numero % 2!=0)
return false;
return true;
}
public boolean esPositivo(int numero){
if(numero < 0)
return false;
return true;
}
public boolean esBisiseto(int numero){
if (numero % 4==0 && numero % 100!=0 || numero % 400==0)
return true;
return false;
}
}
Código java:
Ver originalimport java.util.Scanner;
public class VerComprobaciones {
public static void main
(String args
[]){ Scanner sc
=new Scanner
(System.
in);
System.
out.
println("Introduce un número entero:"); int numero=sc.nextInt();
Comprobaciones co=new Comprobaciones();// creo el objeto co necesario para usar el método co.esCapicua()
System.
out.
println((co.
esCapicua(numero
)?"Es":"No es")+" capicua."); System.
out.
println((co.
esAntiguo(numero
)?"Es":"No es")+" un número antiguo."); System.
out.
println((co.
esBisiseto(numero
)?"Es":"No es")+" bisiesto."); System.
out.
println((co.
esPar(numero
)?"Es":"No es")+" par."); System.
out.
println((co.
esPositivo(numero
)?"Es":"No es")+" positivo."); System.
out.
println((co.
esPrimo(numero
)?"Es":"No es")+" primo."); }
}
1. En el método
esSimetrico() en la línea 3 le asigna el valor false, he probado a comentarlo y el programa funciona bien, ¿es error del libro o yo no lo he comprobado bien?
2. En el método esPar() yo he usado un if pero el libro simplemente usa un
return numero % 2==0. Obviamente entiendo que esa linea sustituye a un if pero no soy capaz de comprender el proceso que sigue, si alguien puede explicarmelo seria de gran ayuda para continuar el libro.
3. En el segundo documento el libro utiliza la expresion
nombreMetodo()?"Es":"No es" en cada println. Es la primera vez que veo esta nomenclatura y no estoy familiraizado con ella, quisiera que me la explicaseis tambien.