import java.awt.BorderLayout;import java.awt.Button;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;public class IdCard extends JFrame implements ActionListener { JTextField jt1 = new JTextField(18);
JButton jb1 = new JButton("确定");
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
JLabel jl1 = new JLabel("身份证号码");
JLabel jl2 = new JLabel("    第二代身份证号码:");
JLabel jl22 = new JLabel();
JLabel jl3 = new JLabel("    所在省/直辖市:");
JLabel jl33 = new JLabel();
JLabel jl4 = new JLabel("    所在市/直辖区:");
JLabel jl44 = new JLabel();
JLabel jl5 = new JLabel("    所在县/区(旗):");
JLabel jl55 = new JLabel();
JLabel jl6 = new JLabel("    性别:");
JLabel jl66 = new JLabel();
JLabel jl7 = new JLabel("    出生日期:");
JLabel jl77 = new JLabel(); public IdCard() {
super("身份证验证");
setLocation(500, 500);
jp1.add(jl1);
jp1.add(jt1);
jp1.add(jb1);
jb1.addActionListener(this);
jp2.add(jl2);
setVisible(false);
jp2.add(jl22);
jp2.add(jl3);
jp2.add(jl33);
jp2.add(jl4);
jp2.add(jl44);
jp2.add(jl5);
jp2.add(jl55);
jp2.add(jl6);
jp2.add(jl66);
jp2.add(jl7);
jp2.add(jl77);
add(jp1, BorderLayout.NORTH);
add(jp2);
jp2.setLayout(new GridLayout(6, 6, 5, 15));
pack();
setVisible(true);
} public static void main(String[] args) {
new IdCard(); } @Override
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();

if (jb1 == source) {
System.out.println("===========================");
String a = jt1.getText();
List list = new ArrayList();
list.add(a);
if ((a.trim().equals("")) || (a == null)) {
return;
} else {
jl22.setText(a);
} int d = (Integer) list.get(16);
if (d == 1) {
jl66.setText("男");
} else if (d == 2) {
jl66.setText("女");
} else {
jl66.setText("Cann't found any information");
} if (a != null) {
for (int i = 6; i < 14; i++) {
jl77.setText((String) list.get(i));
}
} else{
jl77.setText("Cann't found any information");
}
} }}

解决方案 »

  1.   

    if ((a == null)||(a.trim().equals(""))) {
    return;
    } else {
    jl22.setText(a);
    }
      

  2.   


    import java.awt.BorderLayout;import java.awt.Button;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;public class IdCard extends JFrame implements ActionListener { JTextField jt1 = new JTextField(18);
    JButton jb1 = new JButton("确定");
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    JLabel jl1 = new JLabel("身份证号码");
    JLabel jl2 = new JLabel(" 第二代身份证号码:");
    JLabel jl22 = new JLabel();
    JLabel jl3 = new JLabel(" 所在省/直辖市:");
    JLabel jl33 = new JLabel();
    JLabel jl4 = new JLabel(" 所在市/直辖区:");
    JLabel jl44 = new JLabel();
    JLabel jl5 = new JLabel(" 所在县/区(旗):");
    JLabel jl55 = new JLabel();
    JLabel jl6 = new JLabel(" 性别:");
    JLabel jl66 = new JLabel();
    JLabel jl7 = new JLabel(" 出生日期:");
    JLabel jl77 = new JLabel(); public IdCard() {
    super("身份证验证");
    setLocation(500, 500);
    jp1.add(jl1);
    jp1.add(jt1);
    jp1.add(jb1);
    jb1.addActionListener(this);
    jp2.add(jl2);
    setVisible(false);
    jp2.add(jl22);
    jp2.add(jl3);
    jp2.add(jl33);
    jp2.add(jl4);
    jp2.add(jl44);
    jp2.add(jl5);
    jp2.add(jl55);
    jp2.add(jl6);
    jp2.add(jl66);
    jp2.add(jl7);
    jp2.add(jl77);
    add(jp1, BorderLayout.NORTH);
    add(jp2);
    jp2.setLayout(new GridLayout(6, 6, 5, 15));
    pack();
    setVisible(true);
    } public static void main(String[] args) {
    new IdCard(); } @Override
    public void actionPerformed(ActionEvent e) {
    if (jb1 == e.getSource()){
    System.out.println("===========================");
    String a = jt1.getText();
    List<String> list = new ArrayList<String>();
    list.add(a);
    if (a == null || "".equals(a.trim())){
    return;
    } else {
    if(!a.matches("\\d{17}[0-9X]")){
    jl22.setText("身份证有误,请重新输入");
    return;
    }
    jl22.setText(a);
    } int d=Integer.parseInt(String.valueOf(list.get(0).charAt(16)));
    if (d == 1) {
    jl66.setText("男");
    } else if (d == 2) {
    jl66.setText("女");
    } else {
    jl66.setText("Cann't found any information");
    } if (a != null) {
    for (int i = 6; i < 14; i++) {
    jl77.setText((String)list.get(0).substring(6,14));
    }
    } else {
    jl77.setText("Cann't found any information");
    }
    } }
      

  3.   


    我理解楼主可能想要这样
    import java.awt.BorderLayout;import java.awt.GridLayout;
    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.JPanel;
    import javax.swing.JTextField;public class TestYao extends JFrame implements ActionListener {JTextField jt1 = new JTextField(18);
    JButton jb1 = new JButton("确定");
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    JLabel jl1 = new JLabel("身份证号码");
    JLabel jl2 = new JLabel(" 第二代身份证号码:");
    JLabel jl22 = new JLabel();
    JLabel jl3 = new JLabel(" 所在省/直辖市:");
    JLabel jl33 = new JLabel();
    JLabel jl4 = new JLabel(" 所在市/直辖区:");
    JLabel jl44 = new JLabel();
    JLabel jl5 = new JLabel(" 所在县/区(旗):");
    JLabel jl55 = new JLabel();
    JLabel jl6 = new JLabel(" 性别:");
    JLabel jl66 = new JLabel();
    JLabel jl7 = new JLabel(" 出生日期:");
    JLabel jl77 = new JLabel();public TestYao() {
    super("身份证验证");
    setLocation(500, 500);
    jp1.add(jl1);
    jp1.add(jt1);
    jp1.add(jb1);
    jb1.addActionListener(this);
    jp2.add(jl2);
    setVisible(false);
    jp2.add(jl22);
    jp2.add(jl3);
    jp2.add(jl33);
    jp2.add(jl4);
    jp2.add(jl44);
    jp2.add(jl5);
    jp2.add(jl55);
    jp2.add(jl6);
    jp2.add(jl66);
    jp2.add(jl7);
    jp2.add(jl77);
    add(jp1, BorderLayout.NORTH);
    add(jp2);
    jp2.setLayout(new GridLayout(6, 6, 5, 15));
    pack();
    setVisible(true);
    }public static void main(String[] args) {
    new TestYao();}public void actionPerformed(ActionEvent e) {
    JButton source = (JButton) e.getSource();if (jb1 == source) {
    System.out.println("===========================");
    String a = jt1.getText();
    if ((a.trim().equals("")) || (a == null)) {
    return;
    } else {
    jl22.setText(a);
    }char d = a.charAt(16);
    if (d == '1') {
    jl66.setText("男");
    } else if (d == '2') {
    jl66.setText("女");
    } else {
    jl66.setText("Cann't found any information");
    }if (a != null && a.length()>=14) {
    jl77.setText(a.substring(6,14));
    } else{
    jl77.setText("Cann't found any information");
    }
    }}}
      

  4.   

    一个程序只能有一个public方法,把前面那个public去掉就不会报错了
      

  5.   

    “一个程序只能有一个public方法”这是错误的,可以有多个。
      

  6.   

    哥们还是你理解我,对,我是想说Class只能有一个public的,但是也从中看到了我的专业术语不是很好,和看到了前面抨击我的人有多么的菜菜菜!!!但是我前面好像没有说完整,准确的说,是他应该去掉public,然后,算了,我说不清,直接看代码:
    package snippet;//注意,这是我的包名import java.awt.BorderLayout;import java.awt.Button;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    class Demo2{//这是我的这个程序的名字Demo2
    public static void main(String[] args) {
    new IdCard();
    }
    }
    class IdCard extends JFrame implements ActionListener {JTextField jt1 = new JTextField(18);
    JButton jb1 = new JButton("确定");
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    JLabel jl1 = new JLabel("身份证号码");
    JLabel jl2 = new JLabel(" 第二代身份证号码:");
    JLabel jl22 = new JLabel();
    JLabel jl3 = new JLabel(" 所在省/直辖市:");
    JLabel jl33 = new JLabel();
    JLabel jl4 = new JLabel(" 所在市/直辖区:");
    JLabel jl44 = new JLabel();
    JLabel jl5 = new JLabel(" 所在县/区(旗):");
    JLabel jl55 = new JLabel();
    JLabel jl6 = new JLabel(" 性别:");
    JLabel jl66 = new JLabel();
    JLabel jl7 = new JLabel(" 出生日期:");
    JLabel jl77 = new JLabel();public IdCard() {
    super("身份证验证");
    setLocation(500, 500);
    jp1.add(jl1);
    jp1.add(jt1);
    jp1.add(jb1);
    jb1.addActionListener(this);
    jp2.add(jl2);
    setVisible(false);
    jp2.add(jl22);
    jp2.add(jl3);
    jp2.add(jl33);
    jp2.add(jl4);
    jp2.add(jl44);
    jp2.add(jl5);
    jp2.add(jl55);
    jp2.add(jl6);
    jp2.add(jl66);
    jp2.add(jl7);
    jp2.add(jl77);
    add(jp1, BorderLayout.NORTH);
    add(jp2);
    jp2.setLayout(new GridLayout(6, 6, 5, 15));
    pack();
    setVisible(true);
    }@Override
    public void actionPerformed(ActionEvent e) {
    JButton source = (JButton) e.getSource();if (jb1 == source) {
    System.out.println("===========================");
    String a = jt1.getText();
    List list = new ArrayList();
    list.add(a); 
    if ((a.trim().equals("")) || (a == null)) {
    return;
    } else {
    jl22.setText(a);
    }int d = (Integer) list.get(16);
    if (d == 1) {
    jl66.setText("男");
    } else if (d == 2) {
    jl66.setText("女");
    } else {
    jl66.setText("Cann't found any information");
    }if (a != null) {
    for (int i = 6; i < 14; i++) {
    jl77.setText((String) list.get(i));
    }
    } else{
    jl77.setText("Cann't found any information");
    }
    }}}
      

  7.   

    我想这样才是改动最小的,也是最不伤神的,只要把public删除,main方法提上来,然后再加一个名字!就搞定了,只是把顺序改动了一下,!