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.


Mensajes - erivalo

Páginas: [1]
1
Buenos días,

te comento que cambie las líneas que me indicaste especialmente la parte de no repetir el it.next(); sin embargo no entiendo ¿por qué no me corre como yo quisiera?

En mi primer if en la línea 21:

21 if(itStringInteger instanceof HashSet  ){

obviamente no ingresa al if porque el objeto itStringInteger es del tipo <Set> entonces todos se van por el "else", pero si yo quisiera comprobar el tipo de objeto que estoy manejando ¿ Cómo hago para que este if funcione?

Código: [Seleccionar]
import java.util.*;


public class TestEjercicio78 {

public static void main (String [ ] Args) {   //main cuerpo del programa ejemplo aprenderaprogramar.com
ArrayList<Set> arraySet = new ArrayList<Set>();
     HashSet<String> arrayString = new HashSet<String>();
     TreeSet<Integer> arrayInteger = new TreeSet<Integer>();
     
     arrayString.add("sol");arrayString.add("luna");arrayString.add("saturno");
     arrayInteger.add(2);arrayInteger.add(8);arrayInteger.add(5);
     arraySet.add(arrayString);
     arraySet.add(arrayInteger);
     
     Iterator<Set> it = arraySet.iterator();
     Set tmpAnalizando;     
     
     while ( it.hasNext() ) {           //Utilizamos el método hasNext de los objetos tipo Iterator    
    Iterator itStringInteger = it.next().iterator();
    if(itStringInteger instanceof HashSet  ){
    System.out.println("Nombre de clase detectado: HashSet");    
    //En caso de que sea objeto string   
   
          int contadorString = 0;
         
          while ( itStringInteger.hasNext() ){
          System.out.println("Objeto " + contadorString +  " String detectado: " +  itStringInteger.next());
          contadorString++;
          }
    }else{
         System.out.println("Nombre de clase detectado: TreeSet");
     //En caso de que sea objeto string                    
         int contadorInteger = 0;            
            while ( itStringInteger.hasNext() ){
            System.out.println("Objeto " + contadorInteger +  " String detectado: " +  itStringInteger.next());
            contadorInteger++;
            }
            }               
        } //Cierre del while

}
}

2
Buenas,

Tengo este código sobre el ejercicio final de este capítulo:

Código: [Seleccionar]
import java.util.*;

public class TestEjercicio78 {
 public static void main (String [ ] Args) { 
 ArrayList<Set> arraySet = new ArrayList<Set>();
 HashSet<String> arrayString = new HashSet<String>();
 TreeSet<Integer> arrayInteger = new TreeSet<Integer>();
     
 arrayString.add("sol");arrayString.add("luna");arrayString.add("saturno");
 arrayInteger.add(2);arrayInteger.add(8);arrayInteger.add(5);
 arraySet.add(arrayString);
 arraySet.add(arrayInteger);
     
 Iterator<Set> it = arraySet.iterator();      
     
 int typeClass = 0;
 while ( it.hasNext() ) {           
  if(it.next() instanceof HashSet  ){
   System.out.println("Nombre de clase detectado: HashSet");
   typeClass = 1;}else{
   System.out.println("Nombre de clase detectado: TreeSet");
   typeClass = 2;}
   
  if (typeClass == 1){                //En caso de que sea objeto string
   Iterator<String> itString = it.next().iterator();
   String tmpAnalizandoString = "";
   int contadorString = 0;
           
 while ( itString.hasNext() ){
  System.out.println("Objeto " + contadorString +  "String detectado: " +  itString.next());
  contadorString++;
            }
            }
           
  if (typeClass == 2){                //En caso de que sea objeto integer
   Iterator<Integer> itInteger = it.next().iterator();
   Integer tmpAnalizandoInteger = 0;            
   int contadorInteger = 0;
           
   while ( itInteger.hasNext() ){
    System.out.println("Objeto " + contadorInteger +  "String detectado: " +  itInteger.next());
    contadorInteger++;
            }
            }            
        } //Cierre del while
}
}

El código en sí me tira una excepción:
Código: [Seleccionar]
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at TestEjercicio78.main(TestEjercicio78.java:45)

Según yo debería correr pero en ejecución me da este error:

Código: [Seleccionar]
System.out.println("Objeto " + contadorString +  "String detectado: " +  itString.next());

¿Pueden decirme por favor qué cambio debo hacer?

3
Buenas,

Quisiera saber como puedo imprimir el nombre la clase dónde estoy ejecutando un método o un código???

por ejemplo:

Código: [Seleccionar]
System.out.println ("Ejecutando código de la clase: " + minombredeclase);

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