Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - MrClassic

Páginas: [1] 2
1
Cordial Saludo,


Citar
Puntilla: Habría quedado mejor como en el ejemplo de la lección.

Para este caso manipulamos lo que se imprime;

Código: [Seleccionar]
import java.util.Scanner;
public class TestFor1{
    //metodo main
    public static void main(String []args){
        //clase Scann
        String frase="";
        Scanner fraseIngresada= new Scanner(System.in);
        System.out.println("Ingrese frase: ");
        frase = fraseIngresada.nextLine();
        for(int i = 0; i<(frase).length(); i++){
            System.out.println("Letra "+ (i+1) +" : " + frase.substring(i,i+1));
        }
    }
}

2
Cordial saludo,


Excelente, todo funciono de maravilla,

pude notar que intente hacer la condicion usando el String vacio, es decir if(x =" "); pero según tu indicación el enfoque se basa en la posición mas que en el contenido,if( x.length == 0);
lo que me resulta logico pero ingenioso, lo que me recuerda a lo comentado por mi anteriormente sobre encontrar soluciones sencillas para problemas.

en el main() solo tube que cambiar el metodo que retorna la cadena, y con el cambio de equals(); por equalsIgnoreCase(); todo funciono de perlas.

otra cosa que note es que en el metodo static se tienen que declarar las variables dentro del metodo y no de manera global en cabezera, al igual que cambiar el metodo capturaStr de private a public para que pueda ser leido por el main();

muchas gracias muy ilustrativas tus indicaciones.

adjunto codigo corregido.

datosCapturados();
Código: [Seleccionar]
import java.util.Scanner;
public class CapturaDatos{
   
    //Scanner datoIngresado =null;
   
    //Metodo para capturar una entrada de teclado excluyendo entradas vacias
   
    public static String lee(){
       String texto = capturaStr();
       do{
           texto = capturaStr();
            if(texto.length()==0){
                System.out.println("No ha ingresado datos validos.");
            }
        }while(texto.length()==0);
         return texto;
        }
    //Metodo que captura un String
    public static String capturaStr(){
         Scanner datoIngresado=new Scanner(System.in);
         return datoIngresado.nextLine();
        //return datoStr;//.toUpperCase(); 
    }
}

PideEntrada

Código: [Seleccionar]
import java.util.Scanner;
public class PideEntrada{
    public static void main(String []args){
    //Properties
     CapturaDatos entrada;
     String entradaResultado, entradaDatos;
    //Constructor
        entrada = new CapturaDatos();
        System.out.println("\nINGRESE DATOS: ");
        entradaDatos = entrada.lee();
 
        if(entradaDatos.length() < 5) {
                if (entradaDatos.substring(0,1).equalsIgnoreCase("A")){
                   System.out.println("La cadena introducida tiene menos de 5 caracteres y comienza por A");
                 }else{
                   System.out.println("La cadena introducida tiene menos de 5 caracteres y no comienza por A");
                }
            }
         else if (entradaDatos.length() >=5 && entradaDatos.length() <= 15){
                if (entradaDatos.substring(0,1).equalsIgnoreCase("A")){
                   System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y comienza por A");
                  }else{
                    System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y no comienza por A");
                 }
        }else if(entradaDatos.length() > 15){
                 if (entradaDatos.substring(0,1).equalsIgnoreCase("A")){
                      System.out.println("La cadena introducida es mayor a 15 caracteres y comienza por A");
                 }else{ 
                      System.out.println("La cadena introducida es mayor a 15 caracteres y no comienza por A");
                 }
        }
   // }
       
        //Imprimimos
         System.out.println(entradaDatos);
   }
}

3
Cordial Saludo,


Al respecto del pluggin quisiera saber,

Se que existe el dicho Zapatero a tus Zapatos por algo, y este es uno de estos casos. pero quisiera saber, ¿que tan confiable resulta o ha resultado, desarrollar aplicaciones Java desde el framework de VS.


Gracias.

4

Cordial Saludo,

CU00658B - Entrega nº58 del curso "Aprender programación Java desde cero".

Código: [Seleccionar]
import java.util.Scanner;
public class TestFor1{
    //metodo main
    public static void main(String []args){
        //clase Scann
        String frase="";
        Scanner fraseIngresada= new Scanner(System.in);
        System.out.println("Ingrese frase: ");
        frase = fraseIngresada.nextLine();
        for(int i = 0; i<(frase).length(); i++){
            System.out.println(frase.substring(i,i+1));
        }
    }
}

5
Cordial Saludo,


Entrega nº57 del curso "Aprender programación Java desde cero".

Como podria hacer en este caso para introducir una excepcion que me impida ingresar cadenas vacias?( " ") intente con el metodo x.equals(""), pero me arroja un error que creo que hace referencia a salir de el liminte de tamaño permitido.
de igual manera dejo comentado lo que intente hacer.

pero en conclusion creo que esta funcional la entrega.


Clases implementadas:

PideEntrada
CapturaDatos


Codigo:

PideEntrada

Código: [Seleccionar]
import java.util.Scanner;
public class PideEntrada{
    public static void main(String []args){
    //Properties
     CapturaDatos entrada;
     String entradaResultado, entradaDatos;
    //Constructor
        entrada = new CapturaDatos();
        System.out.println("\nINGRESE DATOS: ");
        entradaDatos = entrada.capturaStr();
   /*   if (entradaDatos.equals(" ")){
             String info ="No ha ingresado datos validos";
             System.out.println(info);
            }
        else{*/
        if(entradaDatos.length() < 5) {
                if (entradaDatos.substring(0,1).equals("A")){
                   System.out.println("La cadena introducida tiene menos de 5 caracteres y comienza por A");
                 }else{
                   System.out.println("La cadena introducida tiene menos de 5 caracteres y no comienza por A");
                }
            }
         else if (entradaDatos.length() >=5 && entradaDatos.length() <= 15){
                if (entradaDatos.substring(0,1).equals("A")){
                   System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y comienza por A");
                  }else{
                    System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y no comienza por A");
                 }
        }else if(entradaDatos.length() > 15){
                 if (entradaDatos.substring(0,1).equals("A")){
                      System.out.println("La cadena introducida es mayor a 15 caracteres y comienza por A");
                 }else{ 
                      System.out.println("La cadena introducida es mayor a 15 caracteres y no comienza por A");
                 }
        }
   // }
       
        //Imprimimos
         System.out.println(entradaDatos);
   }
}

CapturaDatos

Código: [Seleccionar]
import java.util.Scanner;
public class CapturaDatos{
    String datoStr;
    int datoInt;
    double datoDbl;
    Scanner datoIngresado =null;
   
 
    public String capturaStr(){
         datoIngresado=new Scanner(System.in);
         datoStr = datoIngresado.nextLine();
        return datoStr.toUpperCase(); 
    }
   /*
     * public String capturaStr(){
         datoIngresado=new Scanner(System.in);
         datoStr = datoIngresado.nextLine();
        if (datoStr != " "){
         return datoStr.toUpperCase();
        }else{
             String info ="No ha ingresado datos validos";
             System.out.println(info);
             return  info;
        }
    }
     */
}

6
Cordial Saludo,

Entrega nº54 del curso "Aprender programación Java desde cero".

Código: [Seleccionar]
public class Profesor{
    /*Properties*/
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
        /*constructor1*/
        public Profesor (String nombre, String apellidos, int edad, boolean casado, boolean especialista){
            this.nombre = nombre;
            this.apellidos = apellidos;
            this.edad = edad;
            this.casado = casado;
            this.especialista = especialista;
        }
   /*constructor2*/
        public Profesor(){
            this("","",0,false,false);
        }
        /*Setters"*/
        public void setNombre(String nombre){
            this.nombre = nombre;
        }
        public void setApellidos(String apellidos){
            this.apellidos = apellidos;
        }
        public void setEdad(int edad){
            this.edad = edad;
        }
        public void setCasado(boolean casado){
            this.casado = casado;
        }
        public void setEspecialista(boolean especialista){
            this.especialista = especialista;
        }
        /*Getteres*/
        public String getNombre(){
            return nombre;
        }
        public String getApellidos(){
            return apellidos;
        }
        public int getEdad(){
            return edad;
        }
        public boolean getCasado(){
            return casado;
        }
        public boolean getEspecialista(){
            return especialista;
        }
}

7
Cordial Saludo,


:o No sabes cuanto me identifico con las dos ultimas lineas de tu respuesta ;D,

al respecto comento; En alguno de los ejemplos aveces frustra que apesar de entender como se realizan, te sientes incapaz de dar con esa implementación por tu cuenta propia e incluso con gran dificultad de replicarlo de inmediato, por lo que pregunto.
¿es normal sentir en esta etapa de aprendizaje inicial esto? ¿como desarrollar esa capacidad de resolver de forma puntual y sencilla problemas que por cuenta propia resultaria en un codigo super extenso?

Con tu aclaración puedo decir;

a) ¿Es posible llamar a un método externo de un objeto que ha sido declarado pero no creado?

No es posible ya que debe crearse de lo contrario el resultado solicitado seria una excepción del tipo java.lang.nullPointerException.

b) ¿Es posible llamar a un método externo de un objeto “A” que ha sido declarado y creado pero cuyo constructor está vacío?

Si es posible, hay objetos que incluso no tienen constructor.

c) Una llamada al método pow de la clase Math que hacemos dentro de un método definido en una clase ¿Es una llamada a un método interno o a un método externo? ¿La llamada al método pow se hace sobre un objeto declarado y creado o no declarado y no creado?

Los metodos de objetos del paquete java.lang se importan automaticamente y contienen interfaces que son estructuras de codigo que realizan una funcion especifica y tienen ocultamiento en su implementacion.
La clase Math pertenece a este paquete, el cual entre sus metodos cuenta con el metodo pow que seria externo para nuestra clase.

Este objeto no debe ser Creado y ni Declarado.


Slds.









8
Cordial saludo,


En programación profesional es común o de buena practica codificar constructores con condicionales?

Código: [Seleccionar]
//Constructor de la clase que pide los parámetros necesarios
    public Deposito (float valor_diametro, float valor_altura, String valor_idDeposito) {
        if (valor_diametro > 0 && valor_altura > 0) {           
            diametro = valor_diametro;
            altura = valor_altura;
            idDeposito = valor_idDeposito;
        } else {
            diametro = 10;
            altura = 5;
            idDeposito = "000";
            System.out.println ("Creado depósito con valores por defecto diametro 10 metros altura 5 metros id 000" );
        }   } //Cierre del constructor

Slds.

9
Cordial Saludo,

Con respecto al resultado descrito,

Si ingreso como parametros las palabras "ala" y "barco" para crear objetos en ambos metodos en el orden establecido, el resultado o resultados serán;

Constructor Combinacion  =¨"ala bar"
Constructor CombinadoSiempre = "alabar"

Esto por la forma como se disponen los resultados a la hora de retornar el String resultante

Si lo ingresado es "";

Constructor Combinacion ="No aporta cadenas validas;
Constructor CombinadoSiempre = "";

Esto por las condiciones impuestas en cada metodo.

Por parte de las variables, si note que no se usan, pero talvez no fui muy claro al plantearlo.

Por parte del constructor CombinadoSiempre, creo que lo mas relevante es como se inicializan las variables enteras longitud_texto1 y longitud_texto2 con un valor de tres.
 
De esta forma se controla siempre que aunque el texto sea superior siempre se muestren solo tres caractes.

En el caso contrario "que sean inferiores a 3" ya se encuentra controlado asignandole dicho valor inferior a tres a estas mismas variables utilizando el metodo x.length().

creo que es aqui donde se encuentra la conyuntura del codigo.

Espero haber entendido y respondido bien el ejercicio, en caso contrario quedo espera de sus apreciaciones y con gusto tratare de interpretarlo mejor.

Slds.

10
    Cordial Saludo,

    No se si sea reglamentario, "aprovecho para preguntarlo", pero decidi hacer un ejercicio auto formulado para poner en practica lo aprendido y obtener sus como siempre valiosas apreciaciones,

    la verdad como dije anteriormete, el curso incrementa su complejidad y uno tiende a confundirse con todo esto de la POO,

    queria hacer un post super extenso formulando cada duda resultante del ejercicio, pero finalmente decidi "tambien por que se cerro la secion :)" hacer uno mas resumido, solo consistente en lo siguiente:
    • Deje todo comentado como muestra del proceso de desarrollo del ejercicio.
      "iniciaba de una forma luego la cambiaba por otra que creia mejor"
    • Deseo saber si estoy o no incurriendo en el modelo descrito en la siguiente imagen
      como dije tengo dudas mil, y el diagrama de clases muestra que la clase mainUniversidad "usa" a todas las demas clases.
    • desearia "ya que no puedo preguntar de forma hablada", que intuyera algunas de mis iniciales intenciones "Lo comentado" y me diera sus apreciaciones con miras de saber si estoy o no en lo correcto
    • ¿Donde se debe imprimir?, ¿En una clase cualquiera "Matricula en este caso" o el "main"?, "de igual manera imprimi en ambas clases"
    • si se imprime en el main, como debo imprimir la información del estudiante, que debo instanciar? la clase estudiante?"Estudiante.getNombre(),  o la clase matricula que contiene la clase estudiante  y curso instanciadas Matricula().getStudent().getNombre()? "¿Es esto ultimo correcto?.
    • El ejercicio trata de representar la matricula de un curso Universitario, trate de hacer lo mas claro posible, espero sea entendido

    • Clases implemetadas
  • Estudiante
  • Curso
  • Matricula
  • CapturaDatos
  • MainUniversidad
[/b]
[/list]
Codigo

Estudiante

Código: [Seleccionar]
package Universidad;

public class Estudiante{
    //Propiedades
    private String nombre;
    private int edad;
    private String direccion;
    private String telefono;
   
    //Constructor 1
    public Estudiante(){
        this("",0,"","");
       /* nombre = "";
        edad = 0;
        direccion = "";
        telefono = "";*/
    }
    //Constructor 2
    public Estudiante(String valorNombre, int valorEdad, String valorDireccion, String valorTelefono){
        nombre = valorNombre;
        edad = valorEdad;
        direccion = valorDireccion;
        telefono = valorTelefono;
    }
    //Setters
    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }
    public void setEdad(int valorEdad){
        edad = valorEdad;
    }
    public void setDireccion(String valorDireccion){
        direccion = valorDireccion;
    }
    public void setTelefono(String valorTelefono){
        telefono = valorTelefono;
    }
    //Getters
    public String getNombre(){
        return nombre;
    }
    public int getEdad(){
        return edad;
    }
    public String getDireccion(){
        return direccion;
    }
    public String getTelefono(){
        return telefono;
    }
}   

Curso
Código: [Seleccionar]
package Universidad;

public class Curso{
    //varibles
    private String nombre;
    private String tematica;
    private String carrera;
   //Asignamos facultades segun numero (1):Ingenieria (2):Humanidades (3):Medicina (=!):No registrado o invalida
    private int facultad;
   
    //contructor1
    public Curso(){
        this("","","",0);
    }
    //constructor2
    public Curso(String valorNombre, String valorTematica, String valorCarrera, int valorFacultad){
        nombre = valorNombre;
        tematica = valorTematica;
        carrera = valorCarrera;
        facultad = valorFacultad;
    }
    //Setters
    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }
    public void setTematica(String valorTematica){
        tematica = valorTematica;
    }
    public void setCarrera(String valorCarrera){
        carrera = valorCarrera;
    }
    public void setFacultad(int valorFacultad){
        facultad = valorFacultad;
    }
    //Setters
    public String getNombre(){
        return nombre;
    }
    public String getTematica(){
        return tematica;
    }
    public String getCarrera(){
        return carrera;
    }
    public int getFacultad(){
        return facultad;
    }
}

Matricula
Código: [Seleccionar]
package Universidad;


public class Matricula{
    //propiedades
    private int semestre;
    private int año;
    private double nota;
    private Estudiante student;
    private Curso course;
   
    //constructor
   
    public Matricula(){
       // this(0,0,0.0,null,null);
       semestre=0;
       año=0;
       nota=0.0;
       student=null;
       course=null;
    }
    //constructor2
    public Matricula(int valSemestre, int valAño, double valNota, Estudiante objStudent, Curso objCourse){
        semestre = valSemestre;
        año = valAño;
        nota = valNota;
        student = new Estudiante(objStudent.getNombre(), objStudent.getEdad(), objStudent.getDireccion(), objStudent.getTelefono());
        course = new Curso(objCourse.getNombre(), objCourse.getTematica(), objCourse.getCarrera(), objCourse.getFacultad());
    }
    //Setters
    public void setSemestre(int valSemestre){
        semestre = valSemestre;
    }
    public void setAño(int valAño){
        año = valAño;
    }
    public void setNota(double valNota){
        nota = valNota;
    }
    public void setStudent(Estudiante valStudent){
        student = valStudent;
    }
    public void setCourse( Curso valCourse){
        course = valCourse;
    }
    //Getters
    public int getSemestre(){
        return semestre;
    }
    public int getAño(){
        return año;
    }
    public double getNota(){
        return nota;
    }
    public Estudiante getStudent(){
        return student;
    }
    public Curso getCourse(){
        return course;
    }
   
    public void getMatricula(){
        //declaramos variables locales
        String datosMatricula;
        int datoFacultad = course.getFacultad();
        String nomFacultad="";
        //Asignamos facultades segun numero (1):Ingenieria (2):Humanidades (3):Medicina (4):Arquitectura (5):Artes (=!):No registrado o invalida
        if (datoFacultad > 0){
          switch(datoFacultad){
            case 1: nomFacultad ="Ingenieria";
                    break;
            case 2: nomFacultad ="Humanidades";
                    break;
            case 3: nomFacultad ="Medicina";
                    break;
            case 4: nomFacultad ="Arquitectura";
                    break;
            case 5: nomFacultad = "Artes";
                    break;
            default : nomFacultad = "No registrada";
          }
        }else{
            System.out.println("Facultad invalida");
           
        }
        //traemos datos de Estudiante
       
        String nomStudent = student.getNombre();
        int edadStudent = student.getEdad();
        String dirStudent = student.getDireccion();
        String telStudent = student.getTelefono();
       
       
       
       
       
        //Traemos datos de Curso
        String nomCourse = course.getNombre();
        String temaCourse = course.getTematica();
        String carreraCourse = course.getCarrera();
        int facultadCourse = course.getFacultad();
       
        //Mostramos la info
         System.out.println("\n\n");
         System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
         System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
         System.out.println("DATOS DE MATRICULA DEL ESTUDIANTE "+"\"" + nomStudent.toUpperCase() + "\"" + " DE LA FACULTAD DE: "+"\"" + nomFacultad.toUpperCase() +"\"");
         System.out.println("\nNOMBRE: " + nomStudent);
         System.out.println("EDAD: " + edadStudent);
         System.out.println("DIRECCIÓN: " + dirStudent);
         System.out.println("TELEFONO: " + telStudent);
         System.out.println("\n" + "DATOS DE CURSO ");
         System.out.println("NOMBRE: " + nomCourse);
         System.out.println("TEMATICA: " + temaCourse);
         System.out.println("PLAN: " + carreraCourse);
         
         //Mostramos información final
         System.out.println("\n" + "DATOS DE FINAL DE CURSO ");
         System.out.println("AÑO: " + año);
         System.out.println("SEMESTRE: " + semestre);
         System.out.println("NOTA: " + nota);
     
    }
}

CapturaDatos

Código: [Seleccionar]
package Universidad;
import java.util.Scanner;
public class CapturaDatos{
    String datoStr;
    int datoInt;
    double datoDbl;
    Scanner datoIngresado =null;
   
    public String capturaStr(){
         datoIngresado=new Scanner(System.in);
         datoStr = datoIngresado.nextLine();
         return datoStr;
    }
    public int capturaInt(){
        datoIngresado= new Scanner(System.in);
        datoInt = datoIngresado.nextInt();
        return datoInt;
    }
    public double capturaDbl(){
        datoIngresado = new Scanner(System.in);
        datoDbl = datoIngresado.nextDouble();
        return datoDbl;
    } 
   
}

MainUniversidad
Código: [Seleccionar]
package Universidad;
import java.util.Scanner;


public class MainUniversidad{
   
    //METODO MAIN
    public static void main (String[]args){
       
         //DATOS  POR CONSOLA//
               
        //VARIABLES
       
        Estudiante estudiante;
        Curso curso;
        Matricula matricula;
        CapturaDatos capDato;
       
       
        //Llamado de clase para capturar Strings
       
        capDato = new CapturaDatos();
         //////////////////////////////////////////////////////////////
       
        //CAPTURAMOS DATOS DE ESTUDIANTE POR CONSOLA
       
        System.out.println("\nINGRESE DATOS DE ESTUDIANTE: ");
       
        System.out.println("NOMBRE: ");
        //Scanner nomIngresado = new Scanner(System.in);
        String nom = capDato.capturaStr();
        //String nom=nomIngresado.nextLine();
       
        System.out.println("EDAD: ");
        int edad = capDato.capturaInt();
        /*Scanner edadIngresado = new Scanner(System.in);
        int edad=edadIngresado.nextInt();*/
       
        System.out.println("DIRECCION: ");
        //Scanner dirIngresado = new Scanner(System.in);
        //String direccion=dirIngresado.nextLine();
        String direccion = capDato.capturaStr();
       
        System.out.println("TELEFONO: ");
        //Scanner telIngresado = new Scanner(System.in);
        //String telefono=telIngresado.nextLine();
        String telefono = capDato.capturaStr();
        //
       
        //CREAMOS OBJETO ESTUDIANTE
       
       
        /*===================
         * //Constructor Auxiliar
        estudiante = new Estudiante();
       
        //ESTABLECEMOS VALORES PARA VARIABLES DE ESTUDIANTE USANDO METODOS Setters
       
        estudiante.setNombre(nom);
        estudiante.setEdad(edad);
        estudiante.setDireccion(direccion);
        estudiante.setTelefono(telefono); ============*/
       
        //Constructor con parametros
        estudiante = new Estudiante(nom,edad,direccion,telefono);
       
        //OBTENEMOS Y MOSTRAMOS VALORES DE VARIABLES DE ESTUDIANTE USANDO METODOS Getters
        System.out.println("\n");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("LOS DATOS INGRESADOS SON: ");
        System.out.println("NOMBRE: " + estudiante.getNombre());
        System.out.println("EDAD: " + estudiante.getEdad());
        System.out.println("DIRECCION: " + estudiante.getDireccion());
        System.out.println("TELEFONO: " + estudiante.getTelefono()); 
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
       
         //////////////////////////////////////////////////////////////
             
        //CAPTURAMOS DATOS DE CURSO POR CONSOLA
       
           
        System.out.println("\nINGRESE DATOS DE CURSO: ");
         
        System.out.println("NOMBRE: ");
        //Scanner nom2Ingresado = new Scanner(System.in);
        // String nom2=nom2Ingresado.nextLine();
        String nom2 = capDato.capturaStr();
       
        System.out.println("TEMATICA: ");
        //Scanner temaIngresado = new Scanner(System.in);
        //String tema=temaIngresado.nextLine();
        String tema = capDato.capturaStr();
       
        System.out.println("CARRERA: ");
        //Scanner carreraIngresado = new Scanner(System.in);
        //String carrera=carreraIngresado.nextLine();
        String carrera = capDato.capturaStr();
        //Menu de selección para facultad     
        System.out.println("FACULTAD: ");
       
        System.out.println("+MENU:_(Ingrese un numero)+");
        System.out.println("+-------------------------+");
        System.out.println("| Ingenieria:_______ (1)  |");
        System.out.println("| Humanidades:_______(2)  |");
        System.out.println("| Medicina:__________(3)  |");
        System.out.println("| Arquitectura:______(4)  |");
        System.out.println("| Artes:_____________(5)  |");
        System.out.println("+-------------------------+");
        //Scanner facultadIngresado = new Scanner(System.in);
        //int facultad=facultadIngresado.nextInt();
        int facultad = capDato.capturaInt();
       
        //
         //CREAMOS OBJETO CURSO
       
         /*===========================
          *
          //Constructor Auxiliar
        curso = new Curso();
       
        //ESTABLECEMOS VALORES PARA VARIABLES DE CURSO USANDO METODOS Setters
       
        curso.setNombre(nom2);
        curso.setTematica(tema);
        curso.setCarrera(carrera);
        curso.setFacultad(facultad);
         ========================================== */
         
        //Constructor con parametros
       
        curso = new Curso(nom2,tema,carrera,facultad);
       
        //OBTENEMOS Y MOSTRAMOS VALORES DE VARIABLES DE CURSO USANDO METODOS Getters
        System.out.println("\n");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("LOS DATOS INGRESADOS SON: ");
        System.out.println("NOMBRE: " + curso.getNombre());
        System.out.println("TEMA: " + curso.getTematica());
        System.out.println("CARRERA: " + curso.getCarrera());
        System.out.println("FACULTAD: " + curso.getFacultad());
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
       
         //////////////////////////////////////////////////////////////         
         
         //CAPTURAMOS DATOS DE MATRICULA POR CONSOLA
         
        System.out.println("\nINGRESE DATOS DE MATRICULA: ");
         
        System.out.println("SEMESTRE: (1) o (2)");
        //Scanner semIngresado = new Scanner(System.in);
        //int semestre=semIngresado.nextInt();
        int semestre = capDato.capturaInt();
       
        System.out.println("AÑO: ");
        //Scanner añoIngresado = new Scanner(System.in);
        //int año=añoIngresado.nextInt();
        int año = capDato.capturaInt();
       
        System.out.println("NOTA: ");
        //Scanner notaIngresado = new Scanner(System.in);
        //double nota=notaIngresado.nextDouble();
        double nota = capDato.capturaDbl();       
        //CREAMOS OBJETO MATRICULA
        /*============================
        //Constructor Auxiliar
        matricula = new Matricula();
        //ESTABLECEMOS VALORES PARA VARIABLES DE MATRICULA USANDO METODOS SETTERS
        matricula.setSemestre(semestre);
        matricula.setAño(año);
        matricula.setNota(nota);
        matricula.setStudent(estudiante);
        matricula.setCourse(curso);
        ========================================*/
       
        //Constructor con parametros
       
        matricula = new Matricula(semestre,año,nota,estudiante,curso);
       
         //OBTENEMOS Y MOSTRAMOS VALORES DE VARIABLES DE MATRICULA USANDO METODOS Getters
        System.out.println("\n");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("LOS DATOS INGRESADOS SON: ");
        System.out.println("SEMESTRE: " + matricula.getSemestre());
        System.out.println("AÑO: " + matricula.getAño());
        System.out.println("NOTA: " + matricula.getNota());
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        //LLAMAMOS AL METODO getMatricula
       
        matricula.getMatricula();   
    }
   
}


11
Cordial Saludo,

He recibido la información y te agradezco por tus aclaraciónes, son muy claras y precisas.


Slds.

12
Cordial saludo,

Si, comprendo tu corrección, envío nuevamente el codigo, supongo que esta vez están bien.

Slds,

Código: [Seleccionar]
public class ExtractorStr{
    //No Properties
    //Contructor Empty
    public ExtractorStr(){}
    //Method
    String txt(String a, String b, String c){
       
        if ((a.length() >= 2) && (b.length()>= 4) && (c.length()>=6)){
            String combinacion = a.substring(0,2) + " " + b.substring(0,4) + " - " + c.substring(0,6);
            return combinacion;
        }
         else {
             return "No aporta cadenas validas";
            }
        }           
    }   

13
 Reflexiona y responde a las siguientes preguntas:

a) ¿Es posible llamar a un método externo de un objeto que ha sido declarado pero no creado?

b) ¿Es posible llamar a un método externo de un objeto “A” que ha sido declarado y creado pero cuyo constructor está vacío?

c) Una llamada al método pow de la clase Math que hacemos dentro de un método definido en una clase ¿Es una llamada a un método interno o a un método externo? ¿La llamada al método pow se hace sobre un objeto declarado y creado o no declarado y no creado?

Puedes comprobar si tus respuestas son correctas consultando en los foros aprenderaprogramar.com.

 
  • Para a) y b) necesito saber la diferencia entre un metodo creado y uno declarado, no entiendo bien la pregunta, ¿Cual es la diferencia?

    En cuanto a c) diria que desde un metodo interno, y diria que no declarado y no creado, partiendo del concepto que inica que este metodo al igual que sqrt(), abs() pertenecen al objeto Math que se carga automaticamente en cada programa que desarrollemos, por lo que podemos instanciarlo sin problemas ya que se encuetra cargado, tal como el objeto String con sus metodos concat(String), substring(int,int) y length(), para los que creamos por codigo no me a quedado muy claro el concepto en base a mis dudas a responder las preguntas a y b planteadas en esta entrega
:-\

de antemano gracias.

14
Fíjate en el resultado que ofrece el método CombinadoSiempre cuando se le pasan como parámetros dos cadenas vacías. ¿Te parece lógico el resultado?

  • Partiendo del hecho de que un objeto vacio no es lo mismo que uno nulo, se entiende entonces que se cumpla con estas, la condicion propuesta por los if para ambas cadenas. hay que recordar que es este el valor por defecto de las variables tipo String

En la clase tenemos definidos dos atributos o campos. ¿Tienen utilidad conocida a la vista del código de la clase? ¿Se usan en los métodos que tenemos definidos?
  • No, en ningun momento se establecen valores permanentes en ellos, solo se capturan dichos valores(Cadenas) desde los parametros de los metodos, se procesan y se retornan.

15
Cordial saludo,

Entrega nº49 del curso "Aprender programación Java desde cero".

Código: [Seleccionar]
public class ExtractorStr{
    //No Properties
    //Contructor Empty
    public ExtractorStr(){}
    //Method
    String txt(String a, String b, String c){
       
        if ((a.length() >= 3) && (b.length()>= 3) && (c.length()>=3)){
            String combinacion = a.substring(0,2) + " " + b.substring(0,4) + " - " + c.substring(0,6);
            return combinacion;
        }
         else {
             return "No aporta cadenas validas";
            }
        }           
    }   


16
Cordial saludo,

revisando los temas posteriores a mi ultima entrega, he decidido retomar para interiorizar muchos conceptos y entender mejor dichos temas.
por lo que estare formulando preguntas que me aclaren dudas y me ayuden a interiorizar como dije conceptos que se, son de gran importancia para mi verdadero aprendizaje a futuro.

¿por que si creo un constructor de la forma...?
Código: [Seleccionar]
public class Estudiante{
    //Propiedades
    private String nombre;
    private int edad;
    private String direccion;
    private String telefono;
   
    //Constructor 1
    public Estudiante(){
        this("",0,"","");
    }
}

...debo crear otro de la forma...
Código: [Seleccionar]
public Estudiante(String valorNombre, int valorEdad, String valorDireccion, String valorTelefono){
        nombre = valorNombre;
        edad = valorEdad;
        direccion = valorDireccion;
        telefono = valorTelefono;
    }
...Es decir con parametros para que la compilación no me genere error?
si la logica me dicta que me diante this(), estoy diciendo que me refiero a "esta clase", en la cual ya se declararon variables y se inicializan en los parametros dentro del metodo(no se si es un metodo) this("",0"",""). la verdad me falta una explicación que pueda asimilar mejor, ya que esta inicialización de variables se me hace muy similar a esta...

Código: [Seleccionar]

public Estudiante(){
nombre = "";
edad = 0;
direccion = "";
telefono = "";
}

... la cual no genera errores si se compila sola.

"ejemplo del codigo completo funcional sin errores de compilación..."

Código: [Seleccionar]
package Matricula;

public class Estudiante{
    //Propiedades
    private String nombre;
    private int edad;
    private String direccion;
    private String telefono;
   
    //Constructor 1
    public Estudiante(){
        this("",0,"","");
       /* nombre = "";
        edad = 0;
        direccion = "";
        telefono = "";*/
    }
    //Constructor 2
    public Estudiante(String valorNombre, int valorEdad, String valorDireccion, String valorTelefono){
        nombre = valorNombre;
        edad = valorEdad;
        direccion = valorDireccion;
        telefono = valorTelefono;
    }
}

de antemano Gracias.

17
Cordial Saludo,

Olvide pegar el metodo getRaizCuadrada.




public class MiniCalculadoraEjemplo{
        /*No Properties*/
        /*Empty Constructor*/
    public MiniCalculadoraEjemplo(){}
     
    public double getValorAbsoluto(double valorAbsoluto){   
         return  Math.abs(valorAbsoluto);
    }
           
    public double getRaizCuadrada(double valorRaizCuadrada){ 
        return Math.sqrt(valorRaizCuadrada);
    } 
}

18
Cordial saludo,

 Entrega nº47 del curso "Aprender programación Java desde cero".

el codigo creo que esta funcional, pero deje los comentarios como muestra de que intente imprimir ambos resultados en una sola linea en un System.out.println

y pude notar que este metodo o estos metodos mejor tienen similitudes tanto con los previamente vistos "Getters" y "Setteres" en su estructura, por lo que me resulto confuso el ejercicio.

se que tal vez la idea de este ejercicio dista mucho de tratar de mostrar impresa la información, se que la finalidad real radica en empezar a enfrentarnos al manejo de las librerias propias del entorno Java. pero el ejercicio me dejo nuevamente claro que una clase no tiene una estructura fija.

En fin talvez me enrede en trabajos innecesarios, pero pude notar que una vez se retorna un valor desde una variable, ese valor desaparese y no se puede imprimir usando la misma variable que lo contenia (por favor corrigeme si estoy equivocado en esta afirmación).

Como dije en otra ocasión empieza el curso a incrementar su complejidad y ahora todo es confusión, tanto que no se ni que preguntar. ;D, solo por hacer una y no involucrarte mas en mis divagaciones y darle sentido a todo lo antes escrito, pregunto;

como haria para imprimir en una linea dentro de la clase el valor ingresado y el resultado en metodos de este tipo, por ejemplo; System.out.println(La raiz cuadrada de: " + vlrInicial1 + " es: " + vlrFinal1 + " y el valor absoluto de: " + vlrInicial2 + " es: " + vlrFinal2); asi sqrt(4)=2; en donde vlrInicial1 = 4 y vlrFinal=2; o no es una practica aplicable en el ejercicio de una programación real.
Espero hacerme entender.

por otro lado saber si en el curso ahondaremos algo en el tema de programación recursiva, que tambien lo veo como confuso y eso que el ejercicio previamente propuesto se ve por demás basico y elemental.

Slds.




Bueno
Código: [Seleccionar]
public class MiniCalculadoraEjemplo{
        /*No Properties*/
        /*Empty Constructor*/
    public MiniCalculadoraEjemplo(){}
        /*Metodo Calculos*/
    public double getValorAbsoluto(double valorAbsoluto){
        /*double vlrInicial1=valorAbsoluto;
        double vlrFinal1 = Math.abs(valorAbsoluto);
        double vlrAbs = vlrFinal1;
        return vlrAbs;*/
         return  Math.abs(valorAbsoluto);
    }
       
    /*metodo Para Mostrar resultados*/
   
   
}

19
Cordial Saludo,


Entrega nº44 del curso "Aprender programación Java desde cero".

Código: [Seleccionar]
public class MultiplicadorDieces{
    /*No properties*/
    /*Constructor*/
    public MultiplicadorDieces(){}
    /*Metodo Mulitiplicador de dieces*/
    public double MultipicadorDieces(double primerNum, int segundoNum){
          double resultado = 1;
        for (int i=1; i<=segundoNum; ++i){
            resultado = resultado * 10;
            System.out.println("El " + i + "resultado es: " + resultado);
        }
            resultado = resultado * primerNum;
        return resultado;
    }
}

Quisiera saber en sintesis, es decir en forma mas clara y precisa, cual es la finalidad, de este ejercicio? a que aspectos debemos prestar mas atención? que relación tiene esto con lo visto hasta el momento?

ya que senti una leve interrupción de continuidad con lo aprendido hasta el momento.

Slds.

20
Cordial Saludo,

Gracias por la información, guia y consejos,

Entiendo que para cargar las imagenes debemos hacerlo por medio de la Url de la misma, no podemos hacerlo con archivos locales,

Para crear clases usando otros objetos como tipo de datos, debemos percatarnos de que sus constructores tengan igual  numero de parametros, creo que debe ser para que se tenga certeza de que constructor estamos utilizando a la hora de crear la nueva clase,

de esto me surge una pregunta,

 que pasa si creamos dos constructores identicos con o sin parametros, cual usara la instancia de dicha clase? no se generan conflictos a la hora de seleccionar que constructor se usara para la instancia que use dicha clase?
espero hacerme entender.

por otro lado adjunto el ejercicio (CU00642B)

Entrega nº42 del curso "Aprender programación Java desde cero".


SalonCasa

Código: [Seleccionar]
public class SalonCasa{
    /*Properties*/
    private int numeroDeTelevisores;
    private String tipoSalon;
   
    /*Constructor1*/
    public SalonCasa(){ 
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
    /*Constructor2*/
    public SalonCasa(int valorNumeroDeTelevisores, String valorTipoSalon){
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }
    /*Setters*/
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
    public void setTipoSalon(String valorTipoSalon){
        tipoSalon = valorTipoSalon;
    }
    /*Getters*/
    public int getNumeroDeTelevisores(){
        return numeroDeTelevisores;
    }
    public String getTipoSalon(){
        return tipoSalon;
    }
}

SalonCocina

Código: [Seleccionar]
public class CocinaCasa{
    /*Properties*/
    private boolean esIndependiente;
    private int numeroDeFuegos;
    /*Contructor1*/
    public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
    /*Constructor2*/
    public CocinaCasa(boolean valorEsIndependiente, int valorNumeroDeFuego){
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuego;
    }
    /*Setters*/
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente = valorEsIndependiente;
    }
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        numeroDeFuegos = valorNumeroDeFuegos;
    }
    /*Getters*/
    public boolean getEsIndependiente(){
        return esIndependiente;
    }
    public int getNumeroDeFuegos(){
        return numeroDeFuegos;
    }
}

Casa


Código: [Seleccionar]
public class Casa{
    /*Properties*/
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
    /*Constructor1*/
    public Casa(){
        superficie = 0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }
    /*Constructor2*/
    public Casa(double valorSuperficie, String valorDireccion, SalonCasa objetoSalon, CocinaCasa objetoCocina){
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = new SalonCasa(objetoSalon.getNumeroDeTelevisores(), objetoSalon.getTipoSalon());
        cocina = new CocinaCasa(objetoCocina.getEsIndependiente(), objetoCocina.getNumeroDeFuegos());
    }
    /*Setters*/
    public void setSuperficie(double valorSuperficie){
        superficie = valorSuperficie;
    }
    public void setDireccion(String valorDireccion){
        direccion = valorDireccion;
    }
    public void setSalon(SalonCasa valorSalon){
        salonCasa = valorSalon;
    }
    public void setCocina(CocinaCasa valorCocina){
        cocina = valorCocina;
    }
    /*Getters*/
    public double getSuperficie(){
        return superficie;
    }
    public String getDireccion(){
        return direccion;
    }
    public SalonCasa getSalon(){
        return salonCasa;
    }
    public CocinaCasa getCocina(){
        return cocina;
    }
}






Páginas: [1] 2

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".