Search in sources :

Example 1 with Elemento

use of model.Elemento in project MatematicaDiscreta by Leoginski.

the class StorageSession method produtoCartesiano.

public static String produtoCartesiano(Conjunto obj1, Conjunto obj2) {
    String produto = obj1.getNome() + "x" + obj2.getNome() + " = {";
    for (Elemento ele1 : obj1.getConjunto()) {
        for (Elemento ele2 : obj2.getConjunto()) {
            produto += "(" + ele1.getValor() + "," + ele2.getValor() + "),";
        }
    }
    produto = produto.substring(0, produto.length() - 1);
    produto += "}";
    return produto;
}
Also used : Elemento(model.Elemento)

Example 2 with Elemento

use of model.Elemento in project MatematicaDiscreta by Leoginski.

the class StorageSession method maiorQue.

public static String maiorQue(Conjunto dominio, Conjunto imagem, String nome1, String nome2, boolean relacao) {
    String nome = "";
    if (relacao) {
        nome = "> :" + nome1 + "☻" + nome2;
    } else {
        nome = "(> :" + nome1 + "→" + nome2 + ")";
    }
    Relacao maiorQue = new Relacao(nome, dominio, imagem);
    for (Elemento obj1 : dominio.getConjunto()) {
        for (Elemento obj2 : imagem.getConjunto()) {
            if (obj1.getValor() > obj2.getValor()) {
                maiorQue.addDupla(obj1, obj2);
            }
        }
    }
    maiorQue.criaNotacao();
    relacoes.add(maiorQue);
    return nome;
}
Also used : Elemento(model.Elemento) Relacao(model.Relacao)

Example 3 with Elemento

use of model.Elemento in project MatematicaDiscreta by Leoginski.

the class StorageSession method raizDe.

public static String raizDe(Conjunto dominio, Conjunto imagem, String nome1, String nome2, boolean relacao) {
    String nome = "";
    if (relacao) {
        nome = "√x :" + nome1 + "☻" + nome2;
    } else {
        nome = "(√x :" + nome1 + "→" + nome2 + ")";
    }
    Relacao raizDe = new Relacao(nome, dominio, imagem);
    for (Elemento obj1 : dominio.getConjunto()) {
        for (Elemento obj2 : imagem.getConjunto()) {
            if (obj1.getValor() == Math.sqrt(obj2.getValor())) {
                raizDe.addDupla(obj1, obj2);
            }
        }
    }
    raizDe.criaNotacao();
    relacoes.add(raizDe);
    return nome;
}
Also used : Elemento(model.Elemento) Relacao(model.Relacao)

Example 4 with Elemento

use of model.Elemento in project MatematicaDiscreta by Leoginski.

the class main method jbPertenceActionPerformed.

//GEN-LAST:event_jcbConjunto2ActionPerformed
private void jbPertenceActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_jbPertenceActionPerformed
    // TODO add your handling code here:
    Elemento elemento = StorageSession.encontraElemento((String) jcbConjunto1.getSelectedItem());
    Conjunto conjunto = StorageSession.encontraConjunto((String) jcbConjunto2.getSelectedItem());
    if (StorageSession.isPertence(elemento, conjunto)) {
        JOptionPane.showMessageDialog(null, "PERTENCE");
    } else {
        JOptionPane.showMessageDialog(null, "NÃO PERTENCE");
    }
}
Also used : Elemento(model.Elemento) Conjunto(model.Conjunto)

Example 5 with Elemento

use of model.Elemento 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)

Aggregations

Elemento (model.Elemento)10 Relacao (model.Relacao)5 Conjunto (model.Conjunto)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