Resultados 1 al 8 de 8

Tema: Java, excepciones y creación de métodos.



  1. #1
    Personal vaguer Avatar de Saito_25
    Fecha de ingreso
    15 mar, 15
    Ubicación
    debajo de un puente
    Mensajes
    850
    Agradecido: 116

    Java, excepciones y creación de métodos.

    Bueno, como alguno ya sabréis estoy en el CFGS de DAM y me han enviado una actividad que tiene que ver con las excepciones, la cual no las termino de entender, no le veo la utilidad, por así decirlo, pero bueno, poco a poco. La cosa es que la actividad usa métodos y no funciones. Por ahora no he visto nada de métodos en java y claro, esta actividad son métodos dentro de una clase, por lo que no he sido ni capaz de probar los métodos para comprobar si están bien XD...

    Os expongo la actividad para que entendáis que tengo que hacer y luego, lo que he hecho.

    Código:
    Crea una clase llamada ConsoleInput  para leer valores desde el teclado de forma segura. Realiza losiguiente:
    
    La programación en java incluyendo el control de excepciones.
    
    Hoja de cálculo con las pruebas de caja negra de todos los métodos. Crea una pestaña en la hoja decálculo para cada método.
    
    Código de los tests de JUnit5.
    
    API realizada con Javadoc.
    
    La clase contendrá una serie de métodos que permitan solicitar al usuario distintos datos y que gestionen elhecho de que los datos introducidos no correspondan a los tipos esperados o que no sean valores válidos, demanera que se les vuelva a solicitar de nuevo, hasta que los valores introducidos sean válidos. Internamenteun método puede llamar a otro método de la clase.
    
    Los métodos a realizar son los siguientes:
    
    readChar(): retorna un carácter introducido por el usuario. Si éste introduce más de un carácter, sele vuelve a solicitar.
    
    readChar(String validCharacters):  retorna un carácter introducido por el  usuario. El  parámetrovalidCharacters contiene los posibles caracteres válidos.
    
    [Inserte mil métodos más]
    
    El  constructor de la  clase ConsoleInput recibe un objeto de la  clase Scanner, a  través del cual realizará laspeticiones de datos al usuario
    
    
    Código:
    publicclassConsoleInput {privatefinalScannerkeyboard;publicConsoleInput(Scannerkeyboard) {this.keyboard=keyboard;    }privatevoidcleanInput() {keyboard.nextLine();    }publiccharreadChar() {        ...    }    ...
    Hay muchos más, pero para qué os hagáis una idea.

    Ahora bien, quiero usar los métodos en otro programa, es decir, en otro proyecto para comprobar si funcionan, pero no tengo ni idea de como se llama un método y como utilizarlos en java.

    ¿Alguno me puede echar un cable?

  2. #2
    Personal vaguer Avatar de Saito_25
    Fecha de ingreso
    15 mar, 15
    Ubicación
    debajo de un puente
    Mensajes
    850
    Agradecido: 116
    Por ahora llevo esto:

    Código:
    package inputs;
    import java.util.Scanner;
    
    public class ConsoleInput {
        
        // VARIABLES
        String string;
        
        char letter;
        boolean condition = false;
        
        
        private final Scanner keyboard;
        
        public ConsoleInput(Scanner keyboard) {
            this.keyboard = keyboard;
        }
        private void cleanInput() {
            keyboard.nextLine();
        }
        
        
        public char readChar() {
            // Retorna un carácter introducido por el usuario.
            // Si este introduc más de uno, se le vuelve a solicitar.
            
            do { // Pide una cadena de texto hasta que solo se introduzca un caracter.
                string = keyboard.nextLine();
                if (string.length() != 1) {
                    System.out.println("No has introducido un carácter válido. Vuelve a introducirlo. ");
                }
            } while (string.length() != 1);
            
            letter = string.charAt(0);
            
            return letter;
        }
    }
    Necesito crear un objeto de la clase consoleinput en otro fichero que está dentro del mismo paquete, pero ni idea de como...

  3. #3
    Snorlax que impide el paso a los Troll Avatar de Megaman
    Fecha de ingreso
    19 sep, 19
    Mensajes
    404
    Agradecido: 98
    Java, excepciones y creación de métodos. Iniciado por Saito_25 Java, excepciones y creación de métodos.
    Por ahora llevo esto:

    Código:
    package inputs;
    import java.util.Scanner;
    
    public class ConsoleInput {
        
        // VARIABLES
        String string;
        
        char letter;
        boolean condition = false;
        
        
        private final Scanner keyboard;
        
        public ConsoleInput(Scanner keyboard) {
            this.keyboard = keyboard;
        }
        private void cleanInput() {
            keyboard.nextLine();
        }
        
        
        public char readChar() {
            // Retorna un carácter introducido por el usuario.
            // Si este introduc más de uno, se le vuelve a solicitar.
            
            do { // Pide una cadena de texto hasta que solo se introduzca un caracter.
                string = keyboard.nextLine();
                if (string.length() != 1) {
                    System.out.println("No has introducido un carácter válido. Vuelve a introducirlo. ");
                }
            } while (string.length() != 1);
            
            letter = string.charAt(0);
            
            return letter;
        }
    }
    Necesito crear un objeto de la clase consoleinput en otro fichero que está dentro del mismo paquete, pero ni idea de como...
    Pero cómo os enseñan a programar en los módulos? No os dan unas buenas clases teóricas del paradigma orientado a objetos? Instanciaciación, herencia, polimorfismo, patrones de diseño...hay mil cosas que comprender antes de lanzarse a picar código a lo loco. En fin, ahora empiezo a entender algunos códigos que me encuentro por ahí en los proyectos después.

    Me siento raro intentando explicar lo que son las excepciones si no sabes instanciar una clase (crear un objeto). Básicamente, qué es una excepción?. Voy a usar palabras poco técnicas, es un error que se produce en tiempo de ejecución, no en tiempo de compilación. El programa compila correctamente, pero a la hora de ejecutarse alguna instrucción le manda hacer algo que no es posible. Ejemplo:

    String cadena = null;
    if (cadena.equals("....") {}

    Este código resultará siempre en un NullpointerException, no se puede acceder a un método de objeto que no se ha instanciado. La excepción, si no es tratada con un try{} catch, escala hacia arriba en la pila de llamada de métodos y si no se captura en ninguno al final produce un error de ejecución de la aplicación. También es posible lanzar excepciones a conciencia, mediante la sintaxis trow new Exception()...


    Pero bueno, vamos a la parte sencilla, crear un objeto de la clase ConsoleInput?

    Scanner keyBoard =new Scanner(System.in);
    ConsoleInput c = new ConsoleInput(keyBoard);

    Que despidan a tu profesor ya.


  4. #4
    Personal vaguer Avatar de Saito_25
    Fecha de ingreso
    15 mar, 15
    Ubicación
    debajo de un puente
    Mensajes
    850
    Agradecido: 116
    No nos han explicado como instanciar una clase, porque no entra la programación orientada a objetos hasta el segundo trimestre.

    La profesora va paso a paso y sí que lo explica todo muy detalladamente. Las excepciones no es que no las haya explicado, sino que yo no les veía la utilidad, hasta que luego de leerme el tema, le he visto la lógica.

    El viernes a última nos subió la actividad, pero no le dio tiempo a explicar nada y yo por mi cuenta, he querido hacerla, sin saber como, cosa que a explicado hoy.

    No ha sido culpa de la profesora, sino mía por intentar ir más allá de lo que ha explicado; estoy muy contento con el nivel de los profesores que tengo... En mi clase hay gente que ha dejado la carrera en el segundo y tercer año y se han venido al superior y dice que ni color, que nuestros profesores están 100 veces más al día.

    Bueno, perdón el tocho, pero considero que tengo una buena profesora y he querido corregir un malentendido Java, excepciones y creación de métodos..

    Gracias por la ayuda. Como indicas me hacía falta la instancia de la clase escaner.

  5. #5
    ¯\_(ツ)_/¯ Avatar de josejfernandez
    Fecha de ingreso
    01 ago, 12
    Mensajes
    400
    Agradecido: 135
    La orientación a objetos no debe ser la base sobre la que aprendes a programar. Solo es un paradigma entre otros muchos que existen. En ese sentido, bien hecho por no meterla con calzador desde el inicio, pero por otro lado, iniciarse en Java sin el más mínimo fundamento es un poco absurdo. Por eso siempre soy partidario de empezar con Python, donde no necesitas aprender orientación a objetos para empezar pero puedes hacerlo una vez sabes programar en general. No obstante, por lo muestras de tus clases, pienso que lo que os van enseñando está bien.

    Entiendo que ahora que han explicado este apartado en clase tus dudas han quedado resueltas, ¿es así? ¿Qué dudas te quedan?

  6. Los siguientes usuarios han agradecido a josejfernandez su comentario:


  7. #6
    Personal vaguer Avatar de Saito_25
    Fecha de ingreso
    15 mar, 15
    Ubicación
    debajo de un puente
    Mensajes
    850
    Agradecido: 116
    Pues por ahora las dudas son más por inesperiencia creo yo.

    Hoy (lunes, 11) explicó como instanciar la clase y todo quedó bastante más claro.

    Ahora a hacer el boletín con actividades y aplicar excepciones, a ver si me voy manejando con ellas, tengo que practicarlas.

    Gracias por la ayuda, jose!

  8. #7
    Snorlax que impide el paso a los Troll Avatar de Megaman
    Fecha de ingreso
    19 sep, 19
    Mensajes
    404
    Agradecido: 98
    Java, excepciones y creación de métodos. Iniciado por josejfernandez Java, excepciones y creación de métodos.
    La orientación a objetos no debe ser la base sobre la que aprendes a programar. Solo es un paradigma entre otros muchos que existen. En ese sentido, bien hecho por no meterla con calzador desde el inicio, pero por otro lado, iniciarse en Java sin el más mínimo fundamento es un poco absurdo. Por eso siempre soy partidario de empezar con Python, donde no necesitas aprender orientación a objetos para empezar pero puedes hacerlo una vez sabes programar en general. No obstante, por lo muestras de tus clases, pienso que lo que os van enseñando está bien.

    Entiendo que ahora que han explicado este apartado en clase tus dudas han quedado resueltas, ¿es así? ¿Qué dudas te quedan?
    Es el paradigma de programación por excelencia. No tiene sentido meterse con un lenguaje OOP puro como Java sin dar clases teóricas sobre orientación a objetos. Para lo que les están enseñando, Pascal o similar serían lenguajes mucho más adecuados.

  9. #8
    Personal vaguer Avatar de Saito_25
    Fecha de ingreso
    15 mar, 15
    Ubicación
    debajo de un puente
    Mensajes
    850
    Agradecido: 116
    A ver... Llevas algo de razón, pero no estás en lo cierto.

    No podemos aprender orientación a objeto si no sabemos usar funciones, no podemos aprender funciones si no sabemos búcles y condicionales, y por supuesto, no podemos aprender búcles y condicionales si no sabemos tipos de datos. ¿Damos entonces un lenguaje de programación para cada paso? No lo veo lógico.

    Estamos aprendiendo java, y hemos empezado por las bases. Hay personas en la clase que no ha programado en su vida y empieza de cero, es un grado para gente que parte de 0, así que tenemos que empezar desde las bases Java, excepciones y creación de métodos..

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  

Hacemos uso de cookies propias y de terceros para proporcionar una mejor experiencia de usuario. Al seguir navegando entendemos que acepta nuestra Más información .

Aceptar