elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Combinacion Sin repeticion ,en java , Ayuda!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Combinacion Sin repeticion ,en java , Ayuda!!!  (Leído 3,568 veces)
k3ni9

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Combinacion Sin repeticion ,en java , Ayuda!!!
« en: 7 Marzo 2016, 01:57 am »

Hola alguien me ayudaria con mi codigo de combinacion sin repeticion

solo me funciona el caso 2
:V

 :laugh: :xD :-\ :P :(



Solo me crea el primero y el segundo caso. como aria el tercer caso?

package permutacioncombinacion;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Csinrepeticion extends JFrame{
   public JButton regresar,info,calcular,reinicio;
   public JLabel n,r,resultado,calculado;
   public JTextField n1,r1;
   public JTextArea area;
   public int mayor=-1;
   public Csinrepeticion (){
   super ();
   configuraVentana();
   incializarComponentes();
   }
   public void configuraVentana(){
   setTitle(".:Combinacion :.");
   setSize(300,480);
   setLocationRelativeTo(null);
   setResizable(false);
   setLayout(null);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
   }
  
  public void incializarComponentes(){
       reinicio = new JButton("Reiniciar");
       reinicio.setBounds(100,175,100,20);
       this.add(reinicio);
       reinicio.addActionListener(new ActionListener(){
       public void actionPerformed (ActionEvent e){
       area.setText("");
       n1.setText("");
       r1.setText("");
       calculado.setText("");
       }
         });
       //**************************
       area = new JTextArea();
       area.setBounds(30,180,260,200);
       area.setBackground( Color.black );
       area.setEditable(false);
       this.add(area);
       JScrollPane scroll = new JScrollPane(area);
       scroll.setBounds(10, 200, 260, 180);
       this.add(scroll);
        //************************
        n = new JLabel ("Numeros a elegir(n)");
        n.setBounds(30,50,120,20);
        this.add(n);
        n1 = new JTextField ();
        n1.setBounds(160,50,120,20);
        this.add(n1);
        n1.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed (ActionEvent e){
            r1.requestFocus();
        }
        });
       //**************************
        r = new JLabel ("Cuantas Formas(r)");
        r.setBounds(30,100,120,20);
        this.add(r);
        r1 = new JTextField ();
        r1.setBounds(160,100,120,20);
        this.add(r1);
        r1.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed (ActionEvent e){
            calcular.requestFocus();
        }
        });
        //**************
        resultado = new JLabel ("Combinaciones          = ");
        resultado.setBounds(30,150,150,20);
        this.add(resultado);
        calculado = new JLabel ("");
        calculado.setBounds(180 , 150 , 120 , 20);
        this.add(calculado);
        calculado.setVisible(false);
        //************************
        info = new JButton ("?");
        info.setBounds(230,5,50,20);
        this.add(info);
        info.addActionListener(new ActionListener(){
            public void actionPerformed (ActionEvent e){
                JOptionPane.showMessageDialog(null,"Permutaciones sin repetición de n elementos (de orden n)\n son los distintos grupos de n elementos distintos que se pueden hacer\n de forma que dos grupos se diferencian únicamente\n en el orden de colocación de los elementos");
            }
            });
        regresar = new JButton ("Cerrar");
        regresar.setBounds(40,240,100,20);
        this.add(regresar);
         regresar.addActionListener(new ActionListener(){
         public void actionPerformed (ActionEvent e){
            PermutacionCombinacion k =new PermutacionCombinacion();
            k.setVisible(true);
            setVisible(false);  
            }
        });
       regresar = new JButton ("Cerrar");
        regresar.setBounds(40,400,100,20);
        this.add(regresar);
        regresar.addActionListener(new ActionListener(){
         public void actionPerformed (ActionEvent e){
            PermutacionCombinacion k =new PermutacionCombinacion();
            k.setVisible(true);
            setVisible(false);  
            }
        });
        calcular = new JButton ("Calcular");
        calcular.setBounds(160,400,100,20);
        this.add(calcular);
        calcular.addActionListener(new ActionListener(){
        public void actionPerformed (ActionEvent e){
            area.setText("");
            double total=1 ,npr, nfactorial = 1,rfactorial = 1;
            int r2;
            Double n2;
            if ("".equals(n1.getText())){
            JOptionPane.showMessageDialog(null,"casiilla 1 \nEscribe un numero ");
            return;
            }
            if ("".equals(r1.getText())){
            JOptionPane.showMessageDialog(null,"casee 2 \nEscribe un numero ");
            return;
            
         }
            try{
            n2 = Double.parseDouble(n1.getText());
            r2 = Integer.parseInt(r1.getText());
            }catch(NumberFormatException x){
            JOptionPane.showMessageDialog(null, "Solo se aceptan numeros :C");
            return;
            }
            if(n2>0 && n2 <31){
           Double  Csinrepeticion = factorial(n2)/(factorial(n2-r2)*factorial(r2));
           calculado.setText(""+Csinrepeticion);
           calculado.setVisible(true);
           int h =0;
           int[] arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30};
           int mayor = 0,suma=0;
           switch (r2){
                case 1:
                for(int i = 0 ; i< n2 ;i++){
                  
                        area.setEditable(true);
                        area.setForeground( Color.red );
                        area.append((h)+".- "+arr+"\n");
                        mayor =arr;
                        area.setEditable(false);  
                   }    
                break;
                case 2:
                    int s=1;
                for(int i = 0; i < n2;i++)
                    for(int j =s; j < n2;j++){
                        if(arr!=arr[j]){
                            h++;
                            area.setEditable(true);
                            area.setForeground( Color.blue);
                            area.append((h)+".- "+arr +","+ arr[j]+"\n");
                            mayor=suma;
                            area.setEditable(false);
                         if(j==(n2-1)) {
                             s=s+1;
                         }  
                            
                        }
                    }
               break;
               case 3:
                   int a =1 ,b =2;
                  for(int i = 0; i < n2;i++){
                        for(int j = a; j < n2;j++){
                            b=0;
                        for(int k = b; k < n2;k++){
                            h++;
                        area.setEditable(true);
                        area.setForeground( Color.pink );
                        area.append((h)+".- "+arr +","+ arr[j] +","+ arr[k] + "\n");
                        area.setEditable(false);
                        if(k == (n2-1))
                                a =a+1;
                              
                                
                        }
                        /*if(j == (n2-1))
                            a++;*/
                        
                        }
                        }
                        
               break;
               case 4:
                        for(int i = 0; i < n2;i++){
                        for(int j = 0; j < n2; j++){
                        for(int k = 0; k < n2; k++){
                        for(int l = 0; l < n2 ; l++){
                            
                        
                        if(arr!= arr[j] && arr[j]!=arr[k] && arr[k]!= arr[l] ){
                            if(arr !=arr[l]){
                                if(arr !=arr[k]){
                                    if(arr[j]!=arr[l]){
                        h++;
                        area.setEditable(true);
                        area.setForeground( Color.green );
                        area.append((h)+".- "+arr +","+ arr[j] +","+ arr[k] +","+arr[l]+"\n");
                        area.setEditable(false);}}
                        }}}
                        }
                        }
                        }
                   break;
                  
               default:
                   JOptionPane.showMessageDialog(null,"Casilla 2\nIngresa Numeros en el rango[1,4]");
           }
           }else
            JOptionPane.showMessageDialog(null,"casilla 1 \nIngresa numeros en el rango[1,30]");        
        }
        });
        
   }
         public static  double factorial(double x){
       double nfactorial = 1;
            for( int i = 0 ; i < x; i++){
                nfactorial = nfactorial * (x-i);  
          }
                return (nfactorial);
         }
   public static void main(String[] args) {  
       Csinrepeticion p = new Csinrepeticion();
       p.setVisible(true);
    }  
}




« Última modificación: 7 Marzo 2016, 02:39 am por k3ni9 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda urgente: combinacion de teclas con la clase robot
Java
Bleach@lex 2 5,528 Último mensaje 11 Diciembre 2009, 17:02 pm
por Leyer
Palabras aleatorias SIN repeticion [ayuda] « 1 2 »
Programación Visual Basic
Psyke1 11 10,399 Último mensaje 15 Junio 2010, 23:55 pm
por Psyke1
Wds y repeticion de paquetes
Redes
Hacker wifi 3 3,798 Último mensaje 31 Agosto 2010, 21:33 pm
por Hacker wifi
Ayuda! Simular combinacion de teclas a un juego
Programación General
RobertoKenT 0 2,825 Último mensaje 14 Septiembre 2010, 01:47 am
por RobertoKenT
ayuda repeticion
Programación C/C++
Choke1 5 2,835 Último mensaje 9 Mayo 2015, 18:39 pm
por Choke1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines