当前位置: 代码迷 >> J2SE >> java大侠有不解决方法
  详细解决方案

java大侠有不解决方法

热度:7224   发布时间:2013-02-25 00:00:00.0
java大侠有不
Java code
boolean flag = false;        public void text(){                String s2 = text2.getText();        String a2 = "\\w+@\\w+(\\.\\w+)+";        boolean flag2 = s2.matches(a2);        String s4 = text4.getText();        String a4 = "[2]\\d{10}";        boolean flag4 = s4.matches(a4);        String s5 = text5.getText();        String a5 = "\\w{6,10}";        boolean flag5 = s5.matches(a5);                if(!flag2)            JOptionPane.showMessageDialog(this,"您输入了非法字符","警告提示框",            JOptionPane.WARNING_MESSAGE);        else if(!flag4)            JOptionPane.showMessageDialog(this,"学号错误!","警告提示框",            JOptionPane.WARNING_MESSAGE);        else if(!flag5)            JOptionPane.showMessageDialog(this,"密码错误!","警告提示框",            JOptionPane.WARNING_MESSAGE);        else{            new login();            flag = true;            }    }            public void myevent(){            addWindowListener(new WindowAdapter(){            public void windowClosing(WindowEvent e){                setVisible(false);            }        });                submit.addActionListener(new ActionListener(){            public void actionPerformed(ActionEvent e){                if(e.getSource()==submit){                    text();            //        zhuce();                    String s1 = text1.getText();                    String s2 = text2.getText();                    String s3 = text3.getText();                    String s4 = text4.getText();                    String s5 = text5.getText();                    try{                        FileWriter fw = new FileWriter("1.txt",true);                            if(flag){                            fw.write(s1+" "+s2+" "+s3+" "+s4+" "+s5+"\r\n");                            fw.flush();                            fw.close();                        }                    }                    catch(IOException e1){}                }            }        });

为什么text()方法里的new login()执行后,myevent()方法中if(flag)后面的语句还会执行,怎么改啊

------解决方案--------------------------------------------------------
else{
new login();
flag = false;
}

------解决方案--------------------------------------------------------
flag还是一开始login里面的flag,new另外一个login不会对原来的有任何影响。
------解决方案--------------------------------------------------------
没看懂你问的、、、
------解决方案--------------------------------------------------------
你只需要查看flag值得变化就可以了,是否执行new login()和它一点关系都没有。

探讨

引用:
else{
new login();
flag = false;
}

照你说的改了,当执行new login()后,myevent函数中 if(flag)执行了,但是改了之后,new login()没有执行,flag就应该不变,Myevent()中的if(flag)就应该要执行,但是没有执行,这又是为什么呢
  相关解决方案