2012-08-09 14 views
6

En el siguiente código, llama a un elemento exactamente una vez. ¿Cómo puedo hacer que se imprima "este es el último elemento en la lista de matrices" cuando todo se ha eliminado y solo queda un elemento.Obtiene el último elemento en la lista de arrays

ArrayList<String> Responselist = new ArrayList<String>(); 
Responselist.add(CommentResponse()); 
Responselist.add(TriviaResponse()); 
Responselist.add(CriticResponse()); 
String[] SelectRand = new String [3]; 

for (int i = 0; i < SelectRand.length; ++i) 
{ 
    int rnd = (int) (Math.random() * Responselist.size()); 
    SelectRand[i] = Responselist.get(rnd); 
    Responselist.remove(rnd); 
} 

for (String x : SelectRand) 
{ 
    if (!(Responselist.isEmpty())) 
    { 
     System.out.println(x); 
    } 
} 
+0

obtener (0)? ... ¿Es esa una verdadera pregunta? –

+0

Por lo general, es la convención en java: los campos no estáticos y los identificadores de variables locales comienzan con una letra minúscula. Intenta seguir esta convención, hará que tu código sea más legible para otros codificadores de Java. – amit

+0

De hecho, creo que esto fue genial, la pregunta en sí es una competencia de búsqueda de errores. Encontré 4 problemas (ver a continuación); pero estoy seguro de que hay muchos más :). – mihaisimi

Respuesta

1

Esto debe hacerlo supongo:

if (list.size() == 1) { 
    System.out.println(list.get(list.size() - 1)) // or just .get(0) of course... 
} else { 
    System.out.println("List is empty or bigger than one") 
} 
6

Usted puede hacer un control sobre el tamaño de la ArrayList, id est

if (arraylist.size()==1){ 
    System.out.println("this is the last element in the arraylist"); 
} 

y si desea imprimir la última elemento puede acceder a él como (índice = 0 en caso de que sea solo un elemento)

arraylist.get(arraylist.size()-1); 
1

puede resolver esto con el siguiente si-construir

if(responseList.size() == 1) 
{ 
System.out.println("this is the last element in the arraylist") 
} 

Usted debe comenzar la variable con una letra minúscula.

-1

Try y se adhieren a las convenciones en Java

en lugar de

ArrayList<String> Responselist = new ArrayList<String>(); 

Luego código para una interfaz en lugar de una clase concreta.

List<String> Responselist = new ArrayList<String>(); 

también por variables estándar de Java son camel case por lo que sería

List<String> responselist = new ArrayList<String>(); 

Creo que la otra asnswer son suficientes para que responda búsqueda original.

Cuestiones relacionadas