| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2757 人关注过本帖
标题:新手求助,java空指针异常怎么解决?
只看楼主 加入收藏
你好ewvew
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-1-7
结帖率:50%
收藏
 问题点数:0 回复次数:4 
新手求助,java空指针异常怎么解决?
程序代码:
package newpackage;

import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import *;

public class denglu extends JFrame implements ActionListener {

    Connection con;
    ResultSet rs;
    Statement st;
    JTextField text1;
    JPasswordField text2;
    JButton button1, button2, button3;
    CheckboxGroup quanxianbox = new CheckboxGroup();
    Checkbox student = new Checkbox("学生", true, quanxianbox);
    Checkbox teacher = new Checkbox("管理员", false, quanxianbox);

    String useru = new String();
    String passu = new String();
    String quanxian = new String();
    String quanxian1 = new String();
    String ID = new String();

    public denglu() {
        text1 = new JTextField(10);
        text2 = new JPasswordField(10);
        button1 = new JButton("登陆");
        button1.addActionListener(this);
        button2 = new JButton("注册");
        button2.addActionListener(this);
        button3 = new JButton("退出");
        button3.addActionListener(this);
        Box box1 = Box.createHorizontalBox();
        box1.add(new JLabel("欢迎使用本系统!", JLabel.CENTER));
        Box box2 = Box.createHorizontalBox();
        box2.add(new JLabel("制作人--fish、fang、xiaozhi、sword", JLabel.CENTER));
        Box box3 = Box.createHorizontalBox();
        box3.add(new JLabel("用户名:", JLabel.CENTER));
        box3.add(text1);
        Box box4 = Box.createHorizontalBox();
        box4.add(new JLabel("密   码: ", JLabel.CENTER));
        box4.add(text2);
        Box box5 = Box.createHorizontalBox();
        box5.add(student);
        Box box6 = Box.createHorizontalBox();
        box6.add(teacher);
        Box boxH = Box.createVerticalBox();
        boxH.add(box1);
        boxH.add(box2);
        boxH.add(box3);
        boxH.add(box4);
        boxH.add(box5);
        boxH.add(box6);
        boxH.add(Box.createVerticalGlue());
        JPanel pCenter = new JPanel();
        pCenter.add(boxH);
        setLayout(new BorderLayout());
        add(pCenter, BorderLayout.CENTER);
        JPanel pSouth = new JPanel();
        pSouth.add(button1);
        pSouth.add(button2);
        pSouth.add(button3);
        add(pSouth, BorderLayout.SOUTH);

        setVisible(true);
        setBounds(100, 50, 300, 200);
        validate();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == button1) {

            try {//连接数据库
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException e2) {
                System.out.println("" + e2);
            }
            try {
                con = DriverManager.getConnection("jdbc:odbc:lhm", "", "");
                st = con.createStatement();
                rs = st.executeQuery("Select * FROM denglu");
            } catch (SQLException el) {
            }//连接数据库

            String usershu = new String();
            usershu = text1.getText();
            ID = text1.getText();
            String passshu = new String();
            passshu = text2.getText();

            try {
                File classData = new File("C:\\User\\lenovo\\Desktop\\Course1\\data\\lhm.mdb");
                DataOutputStream dout = new DataOutputStream(new FileOutputStream(classData));
                dout.writeInt(Integer.parseInt(ID));
                dout.close();
            } catch (Exception eo) {
            }

            if (usershu.length() > 0) {

                try {
                    int count = 0;

                    while (rs.next()) {
                        useru = rs.getString("userid");
                        passu = rs.getString("userpassword");
                        quanxian1 = rs.getString("userpower");
                        if ((usershu.equals(useru)) && (passshu.equals(passu))) {
                            ++count;
                            if (teacher.getState()) {
                                quanxian = teacher.getLabel();
                                if (quanxian1.equals(quanxian)) {
                                    guanliyuan gy = new guanliyuan();
                                    gy.setBounds(200, 150, 100, 100);
                                    gy.guanliyuan();
                                    gy.setVisible(true);
                                } else {
                                    JOptionPane.showMessageDialog(null, "权限错误,请选择正确权限进入!");
                                }
                            } else if (student.getState()) {
                                quanxian = student.getLabel();
                                if (quanxian1.equals(quanxian)) {

                                    load1 ld = new load1();
                                    ld.setBounds(200, 150, 100, 100);
                                    ld.load1();
                                    ld.setVisible(true);
                                } else {
                                    JOptionPane.showMessageDialog(null, "权限错误,请选择正确权限进入!");
                                }
                            }
                            break;
                        }

                    }

                    if (count == 0) {
                        JOptionPane.showMessageDialog(null, "用户名或密码错!");
                        text1.setText("");
                        text2.setText("");
                    }
                } catch (Exception ee) {
                }
            } else {
                JOptionPane.showMessageDialog(null, "请输入用户名!");
                text1.setText("");
                text2.setText("");
            }
        } else if (e.getSource() == button3) {
            System.exit(0);
        }

        try//关闭数据库
        {
            st.close();
            con.close();
        } catch (SQLException e3) {
            JOptionPane.showMessageDialog(null, "数据库关闭失败!");
        }

    }

    public static void main(String args[]) {
        new denglu();

    }
}



新手确实不知道哪里错了,只知道错误是空指针异常
搜索更多相关主题的帖子: java 
2016-06-11 20:56
笨笨的树袋熊
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-18
收藏
得分:0 
控制台没有显示吗
2016-06-12 11:55
G6625
Rank: 1
等 级:新手上路
威 望:1
帖 子:5
专家分:0
注 册:2016-8-9
收藏
得分:0 
控制台有显示,在第一行错误里面。你没有赋值所以会出现空指针
2016-08-09 19:11
wuxiaobo_16
Rank: 2
等 级:论坛游民
威 望:3
帖 子:12
专家分:81
注 册:2016-8-7
收藏
得分:0 
报错贴出来看看,代码不全如何看?
2016-08-10 10:33
aijiao0624
Rank: 2
等 级:论坛游民
威 望:3
帖 子:27
专家分:65
注 册:2016-7-19
收藏
得分:0 
报错的信息贴出来看看
2016-09-09 18:40
快速回复:新手求助,java空指针异常怎么解决?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.251188 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved