HOAAAA!!!
marioly... pues
1. Con respecto a lo de los for... ummm, pues la verdad odio tener que poner tantos, de verdad, me encanta tener un programa lo más corto y limpio posible,
2. "Java tiene una amplia colección de clases útiles, usala!", esta me hace gracia...
NO soy un gurú en Java, pero conozco bastante acerca de los paquetes y clases "útiles" en Java.
3. "No creo que sea cuestion de tiempo , de hecho ami no me llevo mucho hacer el mio ", cuando hablo de cuestión de tiempo no me refiero a 3 - 5 minutos, estoy hablando de 50 segundos que tienes entre acabar una tarea en el trabajo, y que tu jefe llegue a madrearte.
4. "deberias tratar de tener un poco mas de empatia por los usuarios undecided ellos no te obligan a responder ..", no, si eso lo se de sobra, solo que la primera vez se dice de buena manera (en la primera respuesta), luego ya significa que te toman del pelo. Está bien ser nuevo, pero si ya se ha avisado una vez, porqué seguirse saltando las normas.
5. Tu código está mal, la intersección NO hace lo que debe hacer.
6. Ahora sí, con la mente relajada, y 6 minutos más de tiempo, aquí está el código FUNCIONAL, bonito, profesional... bueno, aún se puede mejorar, de eso no me queda la menor duda:
import java.io.*;
import java.util.*;
import javax.swing.*;
public class claseconjunto {
static ArrayList listA = new ArrayList();
static ArrayList listB = new ArrayList();
static ArrayList listC = new ArrayList();
static void imprimirC(String x) {
String resultado="La "+x+" de A y B es:\n";
Iterator it = listC.iterator();
while( it.hasNext() )
resultado+=it.next() + " ";
JOptionPane.showMessageDialog(null,resultado);
}
static void union() {
listA.trimToSize();
listB.trimToSize();
for( int i = 0; i < listA.size(); i++ )
if( listB.contains(listA.get(i)) && !listC.contains(listA.get(i)) )
listC.add(listA.get(i));
imprimirC("union");
}
static void interseccion() {
listA.addAll(listB);
Collections.sort(listA);
Iterator it = listA.iterator();
Object temp = null, sig = null;
while( it.hasNext() ) {
sig=it.next();
if(sig!=temp) {
temp=sig;
listC.add(sig);
}
}
imprimirC("interseccion");
}
public static void main(String[] args) throws IOException {
int OP = Integer.parseInt(JOptionPane.showInputDialog(null,"1. Calculo Union\n2. Calculo Interseccion\n\nDigita la opcion"));
for (int i = 0; i < 5; i++)
listA.add(i, Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese Valor en A[" + i + "] = ")));
for (int i = 0; i < 5; i++)
listB.add(i, Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese Valor en B[" + i + "] = ")));
switch (OP) {
case 1:
union();
break;
case 2:
interseccion();
break;
default:
System.out.println("Valor no Valido");
break;
}
}
}
7. Muchas gracias por los consejos, de verdad, aprecio tu preocupación por mi
Saludos profe!!!