fork(6) download
  1. /*
  2. Ejercicio 4
  3.  
  4. Verificar si una cadena de texto almacenada en la String nif, es un NIF correcto o no. Si lo es,
  5. se mostrará por consola su parte numérica; si no lo es se mostrará el mensaje "NIF no valido". Se tendrá en cuenta lo siguiente:
  6. Suponer que los NIFs tienen 8 dígitos y, a continuación, una letra (no importa que sea mayúscula o minúscula).
  7.  
  8. PISTAS: dos condiciones que debe cumplir el NIF: tener 9 caracteres y que el último sea una letra.
  9. Comprobado esto, verificar que el resto de caracteres son dígitos.
  10.  
  11. RECOMENDACIONES:
  12. Usar el método length() de java.lang.String para conocer el número de caracteres de una cadena de texto.
  13. Usar el método estático isLetter(char c) de java.lang.Character para comprobar que un carácter es una letra.
  14. Usar el método estático isDigit(char c) de java.lang.Character para comprobar que un carácter es un dígito.
  15. Usar el método substring(int inicio, int fin) de java.lang.String para obtener la parte numérica del nif
  16.  
  17. Autor: Arantza lozano
  18.  *
  19.  */
  20.  
  21. import java.io.*;
  22.  
  23. public class comprobarNif {
  24.  
  25. public static void main() throws IOException {
  26. //Pedimos al usuario que introduzca el DNI y recogemos los datos de teclado
  27.  
  28. System.out.println("Introduzca DNI");
  29. String nif = br.readLine();
  30.  
  31. //Comprobamos que el DNI es válido
  32. mostrarMensaje(nif, comprobar(nif));
  33. }
  34.  
  35. static boolean comprobar(String nif) {
  36. if (nif.length() == 9) {
  37. for (int i = 0; i<8; i++){
  38. char cc=nif.charAt(i);
  39. if (Character.isDigit(cc)==false) {
  40. return false;
  41. }
  42. }
  43. char l=nif.charAt(8);
  44. if (Character.isLetter(l)==false) {
  45. return false;
  46. }
  47. } else {
  48. return false;
  49. }
  50. return true;
  51. }
  52.  
  53. static void mostrarMensaje(String nif, boolean nifValido) {
  54. String msg = "";
  55. if (nifValido) {
  56. msg = nif + " es un NIF valido";
  57. } else {
  58. msg = nif + " no es un NIF valido";
  59. }
  60. System.out.println(msg);
  61. if (nifValido) {
  62. System.out.println("Parte numérica del nif: " + nif.substring(0, 8));
  63. }
  64. }
  65. }
  66.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:23: error: class comprobarNif is public, should be declared in a file named comprobarNif.java
public class comprobarNif {
       ^
1 error
stdout
Standard output is empty