Cita:
Iniciado por Xerelo Algo estás haciendo mal.
[url]http://ideone.com/ZTtv8W[/url]
El stdout es el resultado.
No lo se pongo mi codigo de mi clase:
Código Java:
Ver originalimport javax.swing.JOptionPane;
/**
* Contestadora.java Clase que simula una contestadora de telefono.
*
* @version Octubre 2013
* @see Mensaje
*/
public class Contestadora {
private int nm;
private Mensaje mensajes[];
/**
* Constructor por omicion con capacidad de 10 mensajes.
*/
public Contestadora() {
mensajes = new Mensaje[10];
nm = 0;
}
/**
* Contructor que recibe la cantidad maxima de mensajes permitidos
*
* @param n Recibe un entero, el numero maximo de mensajes.
*/
public Contestadora(int n) {
mensajes = new Mensaje[(n < 0) ? 10 : n];
nm = 0;
}
/**
* Metodo para obtener el numero de mensajes que a llegado a la
* contestadora.
*
* @return int - Regresa el numero de mensajes que a llegado.
*/
public int getNumeroMensajes() {
return nm;
}
/**
* Metodo que permite conocer la capacidad maxima de mensajes de la
* contestadora.
*
* @return int - Regresa la capacidad maxima de la contestadora.
*/
public int getCapacidad() {
return mensajes.length;
}
/**
* Metodo que permite eliminar todos los mensajes de la contestadora.
*/
public void limpiar() {
nm = 0;
}
/**
* Metodo para agregar un nuevo mensaje a la contestadora.
*
* @param a Recibe un objero de la clase mensaje(mensaje a dejar).
*/
public void agregarMensaje(Mensaje a) {
if (!estaLlena()) {
mensajes[nm++] = a;
} else {
System.
out.
println("No hay mas espacio en la contestadora."); }
}
/**
* Metodo que determina los mensajes no escuchados.
*
* @return int - Regresa el numero de mensajes no escuchados.
*/
public int msjNoEscuchados() {
int x = 0;
if (!mensajes[nm].escuchar()) {
for (int i = 0; i < nm; i++) {
x = nm;
}
}
return x;
}
/**
* Metodo para determinar si la contestadora esta llena.
*
* @return boolean - Regresa true o false.
*/
public boolean estaLlena() {
return nm == mensajes.length;
}
/**
* Metodo que determina si la contestadora esta vacia
*
* @return boolean - Regresa true si esta vacia, false en otro caso
*/
public boolean estaVacia() {
return nm == 0;
}
/**
* Metodo que imprime en pantalla todos los mensajes de la contestadora que
* no han sido escuchados.
*
* @return String - Regresa todos los mensajes de la contestadora sin
* ecuchar.
*/
//Solo debe imprimir los no escuchados, este imprime todos los mensajes.
public String nuevosMensajes
() { int i;
String r
= "No hay mensajes en la contestadora"; if (!estaVacia()) {
r = "";
for (i = 0; i < nm; i++) {
r += mensajes[i].obtenerMensaje() + "\n";
}
}
return r;
}
/**
* Metodo que imprime en pantall el mensaje especificado.
*
* @param i Recibe un entero que es el numero de mensaje.
* @return String - Regresa el mensaje pedido.
*/
public String escucharMensajes
(int i
) { String r
= "ERROR: No hay mensajes en la contestadora"; Mensaje ms = null;
if (!estaVacia() | i >= nm && mensajes.length > i && mensajes[i] != null) {
r = "";
ms = mensajes[i];
r += ms.obtenerMensaje() + "\n";
} else {
r = "ERROR";
return r;
}
return r;
}
/**
* Metodo que imprime en pantalla el ultimo mensaje sin ecuchar.
*
* @return String - Regresa el ultimo mensaje sin escuchar.
*/
public String escucharMensaje
() { // Mejorar
Mensaje eq = null;
int i;
r = "No hay mensaje";
if (!estaVacia()) {
r = "";
eq = mensajes[0];
for (i = 0; i < nm && mensajes[i]!=null; i++) {
eq = mensajes[mensajes.length - 1];
}
r += eq.obtenerMensaje() + "\n";
}
return r;
}
}