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.


Temas - drate

Páginas: [1]
1
Buenas tardes,
Necesito acceder y manipular un atributo de un fichero Excel desde Java. Podéis echarme una mano?
Muchas gracias.

2
Buenas tardes.
Estoy haciendo un ejercicio de apertura y manejo de ficheros y no consigo que me abra el fichero en cuestión. Eclipse me da siempre la misma ruta de este aunque lo ponga en el directorio raíz.
Me podéis echar una mano? No puedo hacer el ejercicio con este fallo.
Muchas gracias, un saludo.

3
Aprender a programar desde cero / Acceso a clases anónimas
« en: 12 de Julio 2023, 23:09 »
Buenas noches.
Estoy terminando de implementar el ejercicio que pregunté anteriormente pero no consigo implementar los constructores ni de la clase principal ni de las anónimas. Me podéis echar una mano?
Muchas gracias. Un saludo.

4
Buenas tardes.
He estoy haciendo este ejercicio de clases anidadas y no consigo verlo del todo claro.
Lo dejo por si me podéis echar una mano.
Muchas gracias. Un saludo.

Define e implementa una clase para definir la estructura de un Coche. La idea es que la clase tenga unos pocos atributos como:
• matricula
• marca
• modelo
• potencia
• velocidadMaxima
Y guardar información, de algunos componentes que lo forman, teniendo en cuenta que un coche tendrá 1 chasis y 4 ruedas:
Del chasis guardaremos:
• material
• peso

De cada rueda:
• medida
• tipo (“seco”, “lluvia”)
• marca
• modelo
Una vez definida la estructura, prepara un programa principal donde crees un par de objetos de la clase Coche con información para
todas las partes

5
Buenas tardes. Subo enunciado y código de ejercicio de Excepciones que no acabo de resolver. Muchas gracias, un saludo.

Un equipo de programadores desea participar en una maratón de programación. El equipo tiene los siguientes atributos:
• Nombre del equipo.
• Universidad que está representando al equipo.
• Lenguaje de programación que va a utilizar el equipo en la competencia.
• Tamaño del equipo.
Se requiere un constructor que inicialice los atributos del equipo. El equipo está conformado por varios programadores, mínimo dos
y máximo tres. Cada programador posee nombre y apellidos. Se requieren además los siguientes métodos:
• Un método para determinar si el equipo está completo.
• Un método para añadir programadores al equipo. Si el equipo está lleno se debe imprimir la excepción correspondiente.
• Un método para validar los atributos nombre y apellidos de un programador para que reciban datos que sean solo texto. Si se
reciben datos numéricos se debe generar la excepción correspondiente. Además, no se permiten que los campos String tengan
una longitud igual o superior a 20 caracteres.
• En un método main se debe crear un equipo solicitando sus datos por teclado y se validan los nombres y apellidos de los
programadores

public class EquipoDeProgramadores {
   private String nombreEquipo;
   private String universidad;
   private String lenguajeProgramacion;
   private int tamanoEquipo;
   private String[] programadores = new String[2];

   public String[] getProgramadores() {
      return programadores;
   }

   public EquipoDeProgramadores() {

   }

   public EquipoDeProgramadores(String nombreEquipo, String universidad, String lenguajeProgramacion,
         int tamanoEquipo) {

      this.nombreEquipo = nombreEquipo;
      this.universidad = universidad;
      this.lenguajeProgramacion = lenguajeProgramacion;
      this.tamanoEquipo = tamanoEquipo;
      for (int i = 0; i < programadores.length; i++) {
         programadores = null;
      }

   }

   public boolean estaLleno(String[] programadores) {
      return programadores[2] != null;
   }

   public void anadirProgramador(String nombre) {
      int i = 0;
      try {

         validarNombre(nombre);

         while (i <= 2) {
            if (programadores == null) {
               programadores = nombre;
               break;
            } else {
               i++;
            }
         }

      } catch (Exception e) {
         System.out.println("formato de nombre incorrecto.");
      }

   }

   public boolean comprobar() throws Exception {
   
      if (estaLleno(programadores)) {
      
         throw new Exception("el equipo esta lleno");

      } else
         return true;
   }

   public boolean validarNombre(String componente) {

      try {
         verificarEntrada(componente);

      } catch (Exception e) {
         System.out.println("El nombre introducido no tiene el formato correcto.");
         return false;
      }
      return true;
   }

   public boolean verificarEntrada(String componente) throws Exception {

      for (int j = 0; j < componente.length(); j++) {
         char r = componente.charAt(j);
         if ('0' <= r && r <= '9') {
            throw new Exception("el dato introducio no es un nombre válido");

         }

      }
      if (componente.length() > 20) {
         throw new Exception("longitud del nombre excedida");

      }
      return true;
   }

   public void setNombreEquipo(String nombreEquipo) {
      this.nombreEquipo = nombreEquipo;
   }

   public void setUniversidad(String universidad) {
      this.universidad = universidad;
   }

   public void setLenguajeProgramacion(String lenguajeProgramacion) {
      this.lenguajeProgramacion = lenguajeProgramacion;
   }

   public void setTamanoEquipo(int tamanoEquipo) {
      this.tamanoEquipo = tamanoEquipo;
   }

   public String getNombreEquipo() {
      return nombreEquipo;
   }

   public String getUniversidad() {
      return universidad;
   }

   public String getLenguajeProgramacion() {
      return lenguajeProgramacion;
   }

   public int getTamanoEquipo() {
      return tamanoEquipo;
   }

   public void getProgramadores(String[] programadores) {
      this.programadores = programadores;
   }




6
Buenas tardes.
Estoy aprendiendo este lenguaje y me ha surgido la duda de cuando es mejor emplear cada una de las variantes de Scanner.
Muchas gracias. Un saludo.

7
Aprender a programar desde cero / Excepciones
« en: 25 de Junio 2023, 13:47 »
Buenas tardes.
Estoy haciendo (intentando más bien) un pequeño programa que lee un double de entrada que tiene que comprobar si es positivo tratando la excepción de manera que el programa no se detenga y permita nuevamente introducir el dato. Trato la excepción pero no sé como  conseguir que siga leyendo hasta la introducción del dato correctamente. Me podéis echar una mano? Muchas gracias. Un saludo.

8
Aprender a programar desde cero / Interfaces
« en: 23 de Mayo 2023, 19:37 »
Buenas tardes. Estoy tratando de implementar el apartado del método que devuelve la subsecuencia pero no consigo retornar un array de char vacío en caso de igualdad de índices. Dejo copia de ejercicio.
Muchas gracias, un saludo.

public interface CharSequenceTokio {
   
   
    int length();

    /**
     * Devuelve el char que se situa en el índice indicado por index.
     * Un índice válido toma valores entre 0 y length() - 1.
     * Si el índice no es válido se devuelve el caracter cero (char con valor cero)
     *
     * @param   index   índice del char a ser devuelto.
     * @return  el char localizado en index o el char con valor cero si el índice es incorrecto.
     */
    char charAt(int index);

    /**
     * Devuelve una nueva CharSequenceTokio que es un subsecuencia de esta secuencia.
     * La subsecuencia empieza en el caracter situado en la posición start y acaba
     * en el caracter situado en la posición end - 1.
     * Si start == end se devuelve un CharSequenceTokio sin caracteres.
     * Si start no es una posición válida o si end no es una posición válida o si
     * start > end se devuelve un objeto nulo (null).
     *
     * @param   start   el índice de comienzo, incluído.
     * @param   end     el índice de fin, excluído
     * @return  La subsecuencia especificada o null si los índices no son válidos.
     */
    CharSequenceTokio subSequence(int start, int end);

    /**
     * Devuelve una representación con forma de String de la secuencia de caracteres.
     * La longitud del String será igual a la longitud de la secuencia.
     * @return  Un String que contiene exactamente la secuencia de caracteres.
     */
    public String toString();

}



CharSequenceTokio es un interfaz que representa el comportamiento de una secuencia leíble de elementos de tipo char. Su
funcionamiento es similar a la clase CharSequence de Java, pero como hemos cambiado ligeramente su comportamiento
preferimos renombrarla a CharSecuenceTokio.
Los métodos que incluye CharSequenceTokio son:

• int length()  Devuelve la longitud de esta secuencia de caracteres.
• char charAt(int index)  Devuelve el char que se sitúa en el índice indicado por index. Si el índice no es válido se
devuelve el valor cero directamente
• CharSequenceTokio subSequence(int start, int end)  Devuelve una nueva CharSequenceTokio que es un subsecuencia
de esta secuencia. La subsecuencia empieza en el carácter situado en la posición start y acaba en el carácter situado
en la posición end - 1. Si las posiciones no son válidas devuelve un objeto nulo (null).
• public String toString()  Devuelve una representación con forma de String de la secuencia de caracteres.
 CharSequenceTokio
Define dos clases implementadoras del interfaz CharSequenceTokio: ArrayCharSequenceTokio y BackwardsStringSequenceTokio
• ArrayCharSequenceTokio: Admite en el constructor un array de chars e implementa CharSequenceTokio con dicho array de chars.
• BackwardsStringCharSequenceTokio: Admite en el constructor un String e implementa CharSequenceTokio de dicho String pero
dado la vuelta (leído del final al principio).

9
Aprender a programar desde cero / Ejercicio cartas java
« en: 20 de Abril 2023, 16:10 »
Buenas tardes.
Cuelgo ejercicio de ordenación de cartas a falta de resolución de varias de sus clases. El cuál no tengo del todo claro.
Muchas gracias, un saludo.

10
Aprender a programar desde cero / Herencia Java
« en: 10 de Marzo 2023, 13:30 »
Buenas tardes.
Estoy tratando de hacer este ejercicio Java pero no consigo ver la solución. Dejo enunciado por si alguien me puede echar una mano.
Muchas gracias. Un saludo.


En la universidad existe una plantilla de personal que está dividida en dos grupos:
•   Personal de Administración y Servicios (PAS): En el personal de administración se encuentra todo el personal que desempeña labores administrativas o de gestión de algún tipo de servicio. En este caso, por simplicidad, solo vamos a considerar que existe personal administrativo y personal informático.
•   Personal Docente Investigador (PDI): Personal que se dedica a la docencia y a la investigación y en el que incluimos a profesores y a investigadores contratados en algún proyecto de investigación.
Todo el personal se identifica con su nombre y DNI y recibe un salario mensual que debemos de calcular, de forma simplificada, como el número de horas de trabajo a la semana multiplicado por el importe/hora de su categoría y por el número de semanas al mes (4).
Los datos de cada tipo de personal son los siguientes (las cantidades no son reales):
•   Administrativos: 37 horas/semana y un importe de 7,5 euros/hora.
•   Informáticos: 40 horas/semanas y un importe de 6 euros/hora.
•   Profesores: 37 horas/semana con un importe de 8 euros/hora.
•   Investigadores: 35 horas/semana con un importe de 7 euros/hora.

Además los profesores y los PAS tienen los siguientes ingresos adicionales:
•   Profesores: A los profesores se les añade un complemento salarial en función de lo que se conoce como sexenios (periodos de 6 años evaluados positivamente), y que se pueden conceder hasta un máximo de 6. En concreto, se les añade 100 euros al mes por sexenio reconocido. Una vez concedido el sexenio el aumento de sueldo se mantiene para siempre.
•   PAS: En un mes determinado los PAS (tanto administrativos como informáticos) pueden acumular horas extras. Cada hora extra se paga a 6 euros/hora. Las horas extra, una vez pagadas, se inicializan a cero de nuevo (por ejemplo, a la hora de calcular el sueldo de personal).

Se pide:
•   Crear una estructura de clases y subclases que represente a los trabajadores de la universidad. En dicha estructura tiene que existir una superclase común a todos los trabajadores que sea Personal.
•   Crear una clase Universidad con una función public static void imprimirNominas(Personal[] listaPersonal) que imprima por pantalla, para cada Personal incluido en listaPersonal, el nombre del personal, su categoría y su sueldo.
•   Crear en la misma clase Universidad, una función obtenerPresupuestoTotal que devuelva el total de dinero que se gasta la universidad en personal.
Para evitar usar decimales en cantidades monetarias podemos trabajar con el dinero en céntimos de Euro y solo convertirlo en euros a la hora de mostrarlo por pantalla.


11
Buenas tardes.
Tengo una duda referente a la forma en la que introducirme en el mundo de la programación. Actualmente estoy cursando un curso privado de certificación Java que deja mucho que desear. Agradecería algún consejo de hacía donde reorientarme referente a formarme y poder ganarme la vida programando.
Muchas gracias. Un saludo.

12
Buenas tardes.
Estoy haciendo un ejercicio de herencia con una superclase y dos subclases. Me piden en el main implementar un solo objeto de una de las subclases con todos sus métodos pero necesito el atributo junto con sus operaciones de la otra subclase.
Alguna sugerencia?
Muchas gracias, un saludo.

13
Comunidad / Presentación
« en: 30 de Enero 2023, 22:43 »
Buenas noches.
Me llamo Francisco Manuel y estoy aprendiendo Java como lenguaje de iniciación.
Dar de antemano las gracias a todos los miembros de la comunidad por su interés el cuál será devuelto siempre por mi parte.
Un saludo a todos.

14
Buenas tardes.
Estoy tratando de resolver el problema de las N-Reinas en Java.
Tengo una clase llamada NReinas. Y el método:
private static resolverReinas( int n){}.
Según he leído debo usar Bactrack para resolverlo pero no consigo ni declarar el array con el que trabajar y menos aún el método recursivo que necesito dentro de dicho método.
Me pueden ayudar? Muchas gracias, un saludo.

15
Buenas noches. Estoy haciendo un curso de Java y haciendo una práctica me ha surgido la siguiente duda.

¿Se puede devolver un array como resultado de un método?

Dicho método tendría la siguiente sintaxis:

Código: [Seleccionar]
public static int[] collatz(int n) {
int[]aux= new int[300];
return aux;
}

16
De todo un poco... / Trabajar de programador
« en: 17 de Mayo 2021, 21:20 »
Buenas tardes.
Soy estudiante de Grado en Informática en la UNED. Todavía no lo tengo muy avanzado y estoy pensando en hacer un Grado Superior en Desarrollo de Aplicaciones Multiplataforma. Dejando un poco aparcado el Grado. No estoy seguro si es la forma de acceder a un puesto de programador antes. Es una inversión importante. Merece la pena?
Muchas gracias. Un saludo.

Páginas: [1]

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".