Search in sources :

Example 6 with Conjunto

use of model.Conjunto in project MatematicaDiscreta by Leoginski.

the class main method btnRaizActionPerformed.

//GEN-LAST:event_btnQuadradoActionPerformed
private void btnRaizActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_btnRaizActionPerformed
    Conjunto obj1 = new Conjunto();
    Conjunto obj2 = new Conjunto();
    String nome1 = "";
    String nome2 = "";
    boolean relacao = false;
    if (StorageSession.encontraConjunto((String) jcbConjunto1.getSelectedItem()) != null && StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem()) != null) {
        obj1 = StorageSession.encontraConjunto((String) jcbConjunto1.getSelectedItem());
        obj2 = StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem());
        nome1 = obj1.getNome();
        nome2 = obj2.getNome();
    } else {
        Relacao rel1 = StorageSession.getRelacaoPorNome((String) jcbConjunto1.getSelectedItem());
        Relacao rel2 = StorageSession.getRelacaoPorNome((String) jcbConjunto2.getSelectedItem());
        obj1 = rel1.getDominioRelacao();
        obj2 = rel2.getImagemRelacao();
        nome1 = rel1.getNome();
        nome2 = rel2.getNome();
        relacao = true;
    }
    String nome = StorageSession.raizDe(obj1, obj2, nome1, nome2, relacao);
    jcbConjunto1.addItem(nome);
    jcbConjunto2.addItem(nome);
    JOptionPane.showMessageDialog(null, StorageSession.getRelacaoPorNome(nome).getNotacao() + '\n' + StorageSession.getRelacaoPorNome(nome).getClassificacoes());
}
Also used : Conjunto(model.Conjunto) Relacao(model.Relacao)

Example 7 with Conjunto

use of model.Conjunto in project MatematicaDiscreta by Leoginski.

the class main method btnMenorQueActionPerformed.

//GEN-LAST:event_btnRaizActionPerformed
private void btnMenorQueActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_btnMenorQueActionPerformed
    Conjunto obj1 = new Conjunto();
    Conjunto obj2 = new Conjunto();
    String nome1 = "";
    String nome2 = "";
    boolean relacao = false;
    if (StorageSession.encontraConjunto((String) jcbConjunto1.getSelectedItem()) != null && StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem()) != null) {
        obj1 = StorageSession.encontraConjunto((String) jcbConjunto1.getSelectedItem());
        obj2 = StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem());
        nome1 = obj1.getNome();
        nome2 = obj2.getNome();
    } else {
        Relacao rel1 = StorageSession.getRelacaoPorNome((String) jcbConjunto1.getSelectedItem());
        Relacao rel2 = StorageSession.getRelacaoPorNome((String) jcbConjunto2.getSelectedItem());
        obj1 = rel1.getDominioRelacao();
        obj2 = rel2.getImagemRelacao();
        nome1 = rel1.getNome();
        nome2 = rel2.getNome();
        relacao = true;
    }
    String nome = StorageSession.menorQue(obj1, obj2, nome1, nome2, relacao);
    jcbConjunto1.addItem(nome);
    jcbConjunto2.addItem(nome);
    JOptionPane.showMessageDialog(null, StorageSession.getRelacaoPorNome(nome).getNotacao() + '\n' + StorageSession.getRelacaoPorNome(nome).getClassificacoes());
}
Also used : Conjunto(model.Conjunto) Relacao(model.Relacao)

Example 8 with Conjunto

use of model.Conjunto in project MatematicaDiscreta by Leoginski.

the class main method jbContidoOuIgualActionPerformed.

//GEN-LAST:event_jbIntersecaoActionPerformed
private void jbContidoOuIgualActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_jbContidoOuIgualActionPerformed
    // TODO add your handling code here:
    Conjunto obj1 = StorageSession.encontraConjunto((String) jcbConjunto1.getSelectedItem());
    Conjunto obj2 = StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem());
    if (StorageSession.isContido(obj1, obj2)) {
        JOptionPane.showMessageDialog(null, "ESTÁ CONTIDO");
    } else {
        JOptionPane.showMessageDialog(null, "NÃO ESTÁ CONTIDO");
    }
}
Also used : Conjunto(model.Conjunto)

Example 9 with Conjunto

use of model.Conjunto in project MatematicaDiscreta by Leoginski.

the class main method jbArquivoActionPerformed.

// </editor-fold>//GEN-END:initComponents
private void jbArquivoActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_jbArquivoActionPerformed
    // TODO add your handling code here:
    StorageSession.resetStorage();
    jcbConjunto1.removeAllItems();
    jcbConjunto2.removeAllItems();
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setFileFilter(new FileNameExtensionFilter("Filtro .txt", "txt"));
    fileChooser.setAcceptAllFileFilterUsed(false);
    fileChooser.showOpenDialog(this);
    File txtFileLer = new File(fileChooser.getSelectedFile().getAbsolutePath());
    jtfArquivo.setText(txtFileLer.getName());
    // Leitura do arquivo
    try {
        FileReader arq = new FileReader(txtFileLer);
        BufferedReader lerArq = new BufferedReader(arq);
        // Pegando linhas do arquivo
        String linha = lerArq.readLine();
        //Expressoes regulares
        Pattern acharConjunto = Pattern.compile("[A-Z]");
        Pattern acharElemento = Pattern.compile("([a-z])");
        Pattern numero = Pattern.compile("\\d+");
        // Varrendo as linhas
        while (linha != null) {
            // Aplicando regex
            Matcher acharConjuntoMatcher = acharConjunto.matcher(linha);
            Matcher acharElementoMatcher = acharElemento.matcher(linha);
            Matcher numeroMatcher = numero.matcher(linha);
            // Econtrando conjuntos
            if (acharConjuntoMatcher.find()) {
                // Nome do conjunto
                String nome = acharConjuntoMatcher.group();
                // Instancia objeto e adiciona ao ArrayList
                if (!StorageSession.existeNomeIgualConjunto(nome)) {
                    Conjunto target = new Conjunto(nome);
                    while (numeroMatcher.find()) {
                        // Obtém valor
                        int value = Integer.parseInt(numeroMatcher.group());
                        Elemento elemento = new Elemento(Integer.toString(value), value);
                        target.addElemento(elemento);
                    }
                    // adiciona conjunto
                    StorageSession.setConjuntos(target);
                } else {
                    JOptionPane.showMessageDialog(null, "Conjunto " + nome + " já existe!");
                }
            }
            // Encontrando elementos
            if (acharElementoMatcher.find()) {
                // Nome do elemento
                String nome = acharElementoMatcher.group();
                int value = 0;
                if (!StorageSession.existeNomeIgualElemento(nome)) {
                    // O loop pegará o elemento com 1 ou mais digitos.
                    while (numeroMatcher.find()) {
                        value = Integer.parseInt(numeroMatcher.group());
                    }
                    Elemento shot = new Elemento(nome, value);
                    // adiciona elemento
                    StorageSession.setElementos(shot);
                } else {
                    JOptionPane.showMessageDialog(null, "Elemento " + nome + " já existe!");
                }
            }
            // lê da segunda até a última linha
            linha = lerArq.readLine();
        }
        arq.close();
    } catch (IOException e) {
        System.err.printf("Erro na abertura do arquivo: %s.\n", e.getMessage());
    }
    // PREENCHER O COMBOBOX
    for (String obj : StorageSession.getComboItens()) {
        jcbConjunto1.addItem(obj);
        jcbConjunto2.addItem(obj);
    }
}
Also used : Pattern(java.util.regex.Pattern) JFileChooser(javax.swing.JFileChooser) Matcher(java.util.regex.Matcher) BufferedReader(java.io.BufferedReader) Conjunto(model.Conjunto) Elemento(model.Elemento) FileReader(java.io.FileReader) IOException(java.io.IOException) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) File(java.io.File)

Example 10 with Conjunto

use of model.Conjunto in project MatematicaDiscreta by Leoginski.

the class main method lbContidoPropriamenteActionPerformed.

//GEN-LAST:event_lbNaoContidoOuIgualActionPerformed
private void lbContidoPropriamenteActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_lbContidoPropriamenteActionPerformed
    // TODO add your handling code here:
    Conjunto obj1 = StorageSession.encontraConjunto((String) jcbConjunto1.getSelectedItem());
    Conjunto obj2 = StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem());
    if (StorageSession.isContidoPropriamente(obj1, obj2)) {
        JOptionPane.showMessageDialog(null, "ESTÁ CONTIDO PROPRIAMENTE");
    } else {
        JOptionPane.showMessageDialog(null, "NÃO ESTÁ CONTIDO PROPRIAMENTE");
    }
}
Also used : Conjunto(model.Conjunto)

Aggregations

Conjunto (model.Conjunto)15 Relacao (model.Relacao)5 Elemento (model.Elemento)3 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 FileReader (java.io.FileReader)1 IOException (java.io.IOException)1 Matcher (java.util.regex.Matcher)1 Pattern (java.util.regex.Pattern)1 JFileChooser (javax.swing.JFileChooser)1 FileNameExtensionFilter (javax.swing.filechooser.FileNameExtensionFilter)1