Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/11/2013, 13:43
Avatar de ninga
ninga
 
Fecha de Ingreso: diciembre-2011
Ubicación: Mexico
Mensajes: 19
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: [Duda] Arreglos en java ultimo elementos ingresado

Cita:
Iniciado por Xerelo Ver Mensaje
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 original
  1. import javax.swing.JOptionPane;
  2.  
  3. /**
  4.  * Contestadora.java Clase que simula una contestadora de telefono.
  5.  *
  6.  * @version Octubre 2013
  7.  * @see Mensaje
  8.  */
  9. public class Contestadora {
  10.  
  11.     private int nm;
  12.     private Mensaje mensajes[];
  13.  
  14.     /**
  15.      * Constructor por omicion con capacidad de 10 mensajes.
  16.      */
  17.     public Contestadora() {
  18.         mensajes = new Mensaje[10];
  19.         nm = 0;
  20.     }
  21.  
  22.     /**
  23.      * Contructor que recibe la cantidad maxima de mensajes permitidos
  24.      *
  25.      * @param n Recibe un entero, el numero maximo de mensajes.
  26.      */
  27.     public Contestadora(int n) {
  28.         mensajes = new Mensaje[(n < 0) ? 10 : n];
  29.         nm = 0;
  30.     }
  31.  
  32.     /**
  33.      * Metodo para obtener el numero de mensajes que a llegado a la
  34.      * contestadora.
  35.      *
  36.      * @return int - Regresa el numero de mensajes que a llegado.
  37.      */
  38.     public int getNumeroMensajes() {
  39.         return nm;
  40.     }
  41.  
  42.     /**
  43.      * Metodo que permite conocer la capacidad maxima de mensajes de la
  44.      * contestadora.
  45.      *
  46.      * @return int - Regresa la capacidad maxima de la contestadora.
  47.      */
  48.     public int getCapacidad() {
  49.         return mensajes.length;
  50.     }
  51.  
  52.     /**
  53.      * Metodo que permite eliminar todos los mensajes de la contestadora.
  54.      */
  55.     public void limpiar() {
  56.         nm = 0;
  57.     }
  58.  
  59.     /**
  60.      * Metodo para agregar un nuevo mensaje a la contestadora.
  61.      *
  62.      * @param a Recibe un objero de la clase mensaje(mensaje a dejar).
  63.      */
  64.     public void agregarMensaje(Mensaje a) {
  65.         if (!estaLlena()) {
  66.             mensajes[nm++] = a;
  67.         } else {
  68.             System.out.println("No hay mas espacio en la contestadora.");
  69.         }
  70.     }
  71.  
  72.     /**
  73.      * Metodo que determina los mensajes no escuchados.
  74.      *
  75.      * @return int - Regresa el numero de mensajes no escuchados.
  76.      */
  77.     public int msjNoEscuchados() {
  78.         int x = 0;
  79.         if (!mensajes[nm].escuchar()) {
  80.             for (int i = 0; i < nm; i++) {
  81.                 x = nm;
  82.             }
  83.         }
  84.         return x;
  85.     }
  86.  
  87.     /**
  88.      * Metodo para determinar si la contestadora esta llena.
  89.      *
  90.      * @return boolean - Regresa true o false.
  91.      */
  92.     public boolean estaLlena() {
  93.         return nm == mensajes.length;
  94.     }
  95.  
  96.     /**
  97.      * Metodo que determina si la contestadora esta vacia
  98.      *
  99.      * @return boolean - Regresa true si esta vacia, false en otro caso
  100.      */
  101.     public boolean estaVacia() {
  102.         return nm == 0;
  103.     }
  104.  
  105.     /**
  106.      * Metodo que imprime en pantalla todos los mensajes de la contestadora que
  107.      * no han sido escuchados.
  108.      *
  109.      * @return String - Regresa todos los mensajes de la contestadora sin
  110.      * ecuchar.
  111.      */
  112.     //Solo debe imprimir los no escuchados, este imprime todos los mensajes.
  113.     public String nuevosMensajes() {
  114.         int i;
  115.         String r = "No hay mensajes en la contestadora";
  116.         if (!estaVacia()) {
  117.             r = "";
  118.             for (i = 0; i < nm; i++) {
  119.                 r += mensajes[i].obtenerMensaje() + "\n";
  120.             }
  121.         }
  122.         return r;
  123.     }
  124.  
  125.     /**
  126.      * Metodo que imprime en pantall el mensaje especificado.
  127.      *
  128.      * @param i Recibe un entero que es el numero de mensaje.
  129.      * @return String - Regresa el mensaje pedido.
  130.      */
  131.     public String escucharMensajes(int i) {
  132.         String r = "ERROR: No hay mensajes en la contestadora";
  133.         Mensaje ms = null;
  134.         if (!estaVacia() | i >= nm && mensajes.length > i && mensajes[i] != null) {
  135.             r = "";
  136.             ms = mensajes[i];
  137.             r += ms.obtenerMensaje() + "\n";
  138.         } else {
  139.             r = "ERROR";
  140.             return r;
  141.         }
  142.         return r;
  143.     }
  144.  
  145.     /**
  146.      * Metodo que imprime en pantalla el ultimo mensaje sin ecuchar.
  147.      *
  148.      * @return String - Regresa el ultimo mensaje sin escuchar.
  149.      */
  150.     public String escucharMensaje() {
  151.         // Mejorar
  152.         Mensaje eq = null;
  153.         int i;
  154.         String r;
  155.         r = "No hay mensaje";
  156.         if (!estaVacia()) {
  157.             r = "";
  158.             eq = mensajes[0];
  159.             for (i = 0; i < nm && mensajes[i]!=null; i++) {
  160.                 eq = mensajes[mensajes.length - 1];
  161.             }
  162.             r += eq.obtenerMensaje() + "\n";
  163.         }
  164.         return r;
  165.     }
  166. }