⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form.java

📁 this program is about logic and have 4 class. for execute this program use of link list.
💻 JAVA
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;


public class form extends JFrame implements ActionListener
{
     JTextField text=null;
     node temp=new node();
     linkList li=new linkList();
     Vector vec=new Vector();
     boolean sentence_is_correct=true;//agr d vared shavad false mishavad


    public form()
    {
        setTitle("logic");
        setSize(300,150);

        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocation(400,300);

        JPanel row1 = new JPanel();
        JLabel pageLabel = new JLabel("Enter: ", JLabel.LEFT);
        text = new JTextField(20);

        row1.add(pageLabel);
        row1.add(text);
        FlowLayout flo = new FlowLayout();
        setLayout(flo);
        add(row1);




        JPanel row2 = new JPanel();
        JButton Insert=new JButton("Insert");
        JButton Search=new JButton("Search");
        Insert.addActionListener(this);
        Search.addActionListener(this);

        row2.add(Insert);
        row2.add(Search);
        setLayout(flo);
        add(row2);

        setVisible(true);

    }
    /***********************************************************************/
    public  void actionPerformed(ActionEvent evt)
    {
        if(evt.getActionCommand()=="Insert") //yani agar dokmeye insert zade shavad
        {                                    //varede in block mishavim.
            if(scan1(text.getText())==1)
            {

               temp.setSt1(text.getText());
               temp.setSt2("");

            }
            else if(scan1(text.getText())==2)
            {
                vec=merge(text.getText());
                temp.setSt1((String)vec.elementAt(0));
                temp.setSt2((String)vec.elementAt(1));

            }

            li.add(temp);
            temp=new node();
            text.setText("");
            text.grabFocus();
        }
        else//agar search bashad kole vorudi dar st1 qarar migirad
        {
            temp.setSt1(text.getText());
            li.add(temp);
            temp=new node();
            this.setVisible(false);
            if(find(li.last.getSt1())==1)
            {

                if(analize_fasl(li.last.getSt1())==true && sentence_is_correct==true)
                {

                    JOptionPane.showMessageDialog(null,"SENTENCE IS TRUE");
                }
                else
                {
                    JOptionPane.showMessageDialog(null,"SENTENCE IS FALSE");

                }
            }
            else if(find(li.last.getSt1())==2)
            {

                if(analize_atf(li.last.getSt1())==true && sentence_is_correct==true)
                {

                    JOptionPane.showMessageDialog(null,"SENTENCE IS TRUE");
                }
                else
                {
                   JOptionPane.showMessageDialog(null,"SENTENCE IS FALSE");
                }

            }
            System.exit(1); //nemayeshgare payane pardazesh
        }


    }
    /***********************************************************************/
    public int scan1(String s)
    {
       for(int i=0;i<s.length();i++)
       {
           if(s.charAt(i)==',' || s.charAt(i)=='v' ||s.charAt(i)=='V' || s.charAt(i)=='^')
           {
               return 2;//yani vorudi 2teke ast
           }
       }
       return 1;
    }
    /***********************************************************************/
    public Vector merge(String s)
    {
        int index=0;
        int j=0;
        String s1="";//st1
        String s2="";//st2
        String s3="";// amalgare beyne 2 reshte
        Vector v=new Vector();
        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)==',' || s.charAt(i)=='v' || s.charAt(i)=='V' || s.charAt(i)=='^')
            {
                index=i;
                s3=""+s.charAt(i);
            }
        }
        for(int i=0;i<index;i++)
        {
            s1=""+s.charAt(i);//bad az payane in halqe ,s1 reshtei ke bayad dar st1 qarar girad darad
        }
        for(int i=index+1;i<s.length();i++)
        {
            s2=""+s.charAt(i);
        }
        j=index+1;
        while(j!=s.length())
        {
           s2=""+s.charAt(j);
           j=j+1;

        }
       v.add(s1);
       v.add(s2);
       v.add(s3);
       return v;
    }
    /***********************************************************************/
    public  int find(String s)
    {
        String first_close_BRACKET =""; //)


        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)==')')//baraye halate (a^s) ast
            {
                if(i+1==s.length())
                {
                    if(s.indexOf("^")!=-1)
                    {
                        return 1; //(p^q)
                    }
                    else
                    {
                        return 2; //(pvq)
                    }
                }
                if(s.charAt(i+1)=='v' || s.charAt(i+1)=='V')
                {
                    return 1;  //(p^q)v(w^t)...
                }
                else if(s.charAt(i+1)=='^')
                {
                    return 2; //(pvq)^(wvt)...
                }
            }
        }
        return 0;
    }
    /***********************************************************************/
    public  boolean atf(boolean p,boolean q)
    {
        if(p && q)
        {
            return true;//agar p va q har do true bashand , true bar migardanad
        }
        return false; //dar qeyre in surat false barmigardanad
    }
    /***********************************************************************/
    public boolean analize_fasl(String s)
    {
        int index=s.length();
        String st="";//avalin (p^q) ramidahad
        String new_st="";//baqimandeye s ra dar khod negah midarad



        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)!='v' && s.charAt(i)!='V')
            {
                st=st+s.charAt(i)+"";

            }
            else
            {
                index=i;
                break;
            }
        }

        if(is_True(st))
        {
            return true;
        }
        for(int i=index+1;i<s.length();i++)
        {
            new_st=new_st+ s.charAt(i)+"";
        }
        if(new_st=="") //sharte etmame tabe bazgashty ast
        {
            return false;
        }
        return analize_fasl(new_st);//recessive

    }
    /***********************************************************************/
    public boolean is_True(String s)
    {
        int index=0;
        boolean p,q;
        boolean p_is_KB=false;//moshakhas mikonad p dar KB ast ya na
        boolean q_is_KB=false;
        boolean p_naqiz=false; //moshakhas mikonad ~p ast
        boolean q_naqiz=false;//moshakhas mikonad ~q ast

        String s1="";//s1=p
        String s2="";//s2=q
        node curent=li.first;



        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)!='^')
            {
                s1=s1+s.charAt(i)+"";
            }
            if(s.charAt(i)=='^')
            {
                index=i;
                break;
            }

        }
        for(int i=index+1;i<s.length();i++)
        {
            if(s.charAt(i)!=' ')
            {
                s2=s2+s.charAt(i)+"";

            }

        }



        while(curent.next != null)
        {

            if(s1.indexOf(curent.getSt1())!=-1  )
            {

                p_is_KB=true;

            }
            if(curent.getSt2()!="")
                {
                    if(s1.indexOf(curent.getSt2())!=-1)
                    {
                        p_is_KB=true;
                    }
                }
            if(s2.indexOf(curent.getSt1())!=-1 )
            {

                q_is_KB=true;

            }
            if(curent.getSt2()!="")
                {
                    if(s2.indexOf(curent.getSt2())!=-1)
                    {
                        q_is_KB=true;
                    }
                }
            curent=curent.next;
        }
        if(p_is_KB==false || q_is_KB==false )
        {
            sentence_is_correct=false;


        }

        if(s1.indexOf("~")!=-1)
        {
            p_naqiz=true;
        }
        if(s2.indexOf("~")!=-1)
        {
            q_naqiz=true;
        }
        if(p_naqiz==false && q_naqiz==false)
        {

            return true;
        }
        else
        {
            return false;
        }

    }
    /***********************************************************************/
    public boolean analize_atf(String s)
    {
            int index=s.length();
            String st="";//avalin (pvq) ra negah midarad
            String new_st="";



            for(int i=0;i<s.length();i++)
            {
                if(s.charAt(i)!='^' )
                {
                    st=st+s.charAt(i)+"";

                }
                else
                {
                    index=i;
                    break;
                }
            }

            if(is_False(st))
            {

                return false;
            }
            for(int i=index+1;i<s.length();i++)
            {
                new_st=new_st+ s.charAt(i)+"";
            }
            if(new_st=="")
            {

                return true;
            }
            return analize_atf(new_st);

        }
    /***********************************************************************/
    public boolean is_False(String s)//vorudi (pVq) ast
    {
            int index=0;
            boolean p,q;
            boolean p_is_KB=false;//yani vorudi vojud nadarad dar barname barresi mikonad ke agar p dar BK hast ,true mishavad
            boolean q_is_KB=false;
            boolean p_naqiz=false; //moshakhas mikonad ~p ast
            boolean q_naqiz=false;//moshakhas mikonad ~q ast

            String s1="";//s1=p
            String s2="";//s2=q
            node curent=li.first;



            for(int i=0;i<s.length();i++)
            {
                if(s.charAt(i)!='v' && s.charAt(i)!='V')
                {
                    s1=s1+s.charAt(i)+"";

                }
                if(s.charAt(i)=='v' || s.charAt(i)=='V')
                {
                    index=i;
                    break;
                }

            }
            for(int i=index+1;i<s.length();i++)
            {
                if(s.charAt(i)!=' ')
                {
                    s2=s2+s.charAt(i)+"";

                }

            }

            while(curent.next != null)
            {

                if(s1.indexOf(curent.getSt1())!=-1  )
                {

                    p_is_KB=true;

                }
                if(curent.getSt2()!="")
                    {
                        if(s1.indexOf(curent.getSt2())!=-1)
                        {
                            p_is_KB=true;
                        }
                    }
                if(s2.indexOf(curent.getSt1())!=-1 )
                {

                    q_is_KB=true;

                }
                if(curent.getSt2()!="")
                    {
                        if(s2.indexOf(curent.getSt2())!=-1)
                        {
                            q_is_KB=true;
                        }
                    }
                curent=curent.next;
            }
            if(p_is_KB==false || q_is_KB==false )
            {
                sentence_is_correct=false;


            }

            if(s1.indexOf("~")!=-1)
            {

                p_naqiz=true;
            }
            if(s2.indexOf("~")!=-1)
            {
                q_naqiz=true;
            }
            if(p_naqiz==true && q_naqiz==true)
            {
                return true;
            }
            else
            {
                return false;
            }

        }
    /***********************************************************************/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -