Antes de nada dar un saludo a todos los miembros del foro ya que soy nuevo por aquí
Como tampoco quiero irme demasiado por las ramas, intentaré ser lo más conciso posible. La cuestión es que, como puede apreciarse en mi nick, soy nuevo en Java y, aunque tengo cierta experiencia en C++, voy a necesitar de la ayuda de personas con un nivel superior (como vosotros ) para solucionar un problemilla que me urge en estos momentos.
La cosa es que tengo que realizar un programa que tengo incompleto y con mi nivel me veo incapaz de realizarlo, principalmente porque no dispongo del suficiente para formarme por mí mismo, ya que tengo un examen de Java a principios de septiembre y el poder terminarlo lo antes posible me facilitaría en gran medida el tener una buena referencia para aprender a utilizar los conceptos y demás cosas que he ido aprendiendo hasta el momento.
Así que, sin enrrollarme más, paso a exponeros el problema. Dice así:
1. Supongamos una máquina que dispone de un conjunto de N pulsadores numerados de 0 a N-1, cada uno de los cuales puede estar activo o no, en un instante de tiempo. Necesitamos programar una clase en JAVA (que llamaremos ArrayPulsadores), que permita almacenar la información de cuáles de esos pulsadores están o no activos en un instante dado. En el constructor de la clase se elegirá el número de pulsadores que tenemos. Si no se indicara número (constructor sin argumentos) se creará un ArrayPulsadores con 8 pulsadores. La clase necesitará los siguientes métodos:
a. activarPulsador: que recibirá un número de pulsador y hará que figure como activo.
b. desactivarPulsador: que recibirá un número de pulsador y hará que figure como NO activo.
c. activado: que recibirá un número de pulsador y devolverá si este está activo o no.
d. numActivos: que devolverá el número de pulsadores que están activados.
----
La parte del código que dispongo es el siguiente:
class Maquina {
private boolean pulsadores[] = new boolean[ N ]; // En el código final N debe ser una constante numérica
// 1. ACTIVAR PULSADOR
public void activar(int pos) {
// PONER A true LA POSICION CORRESPONDIENTE DEL ARRAY
pulsadores[pos] = true;
}
// 2. DESACTIVAR PULSADOR
public void desactivar(int pos) {
// PONER A false LA POSICION CORRESPONDIENTE DEL ARRAY
pulsadores[pos] = false;
}
// 3. ACTIVADO
public boolean activado(int pos) {
// DEVOLVER EL CONTENIDO DE LA POSICION CORRESPONDIENTE DEL ARRAY
return pulsadores[pos];
}
// 4. NUMERO DE PULSADORES ACTIVADOS
public int numActivos() {
// CONTAR LAS POSICIONES QUE CONTIENEN true
int contActivos = 0;
int i;
for (i=0; i < pulsadores.length; i++) {
if (pulsadores[i]) {
contActivos = contActivos + 1;
}
}
// DEVOLVER LA CUENTA
return contActivos;
}
}
----
Por lo que me faltaría programar la clase ArrayPulsadores, lo cual he intentado, pero me sale un 'churro' inservible que pa qué
Bueno, espero no haberme enrrollado demasiado y que podáis echarme un cable
Muchísimas gracias por adelantado y saludos!