一个计算器程序(相当的不完善), 
有问题,能编译,却不能解析,就是抛出异常,不知为什么,我是新手,请大家帮助 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.text.*; 
public class jisuanqi extends JFrame{ 
    
private int shuzi=0; 
private double jisuan1=0; 
private double jisuan2=0; 
private double daan=0; 
private JLabel theResultJLabel; 
private JTextField theResultJTextField; private JButton oneJButton; 
private JButton twoJButton; 
private JButton threeJButton; 
private JButton fourJButton; 
private JButton fiveJButton; 
private JButton sixJButton; 
private JButton sevenJButton; 
private JButton eightJButton; 
private JButton nineJButton; 
private JButton zeroJButton; 
private JButton plusJButton; 
private JButton minusJButton; 
private JButton multiplyJButton; 
private JButton removeJButton; 
private JButton equalJButton; 
private JButton pointJButton; 
private JButton[] keyJButtons=new JButton[KeyEvent.KEY_LAST+1]; 
public jisuanqi() 

jiSuan(); 

    private void jiSuan() 
    { 
    Container contentPane=getContentPane(); 
    contentPane.setLayout(null); 
    
    oneJButton=new JButton(); 
    oneJButton.setBounds(300,100,100,100); 
    oneJButton.setText("1"); 
    contentPane.add(oneJButton); 
    keyJButtons[KeyEvent.VK_1]=oneJButton; 
    
    
    
    twoJButton=new JButton(); 
    twoJButton.setBounds(400,100,100,100); 
    twoJButton.setText("2"); 
    contentPane.add(twoJButton); 
    keyJButtons[KeyEvent.VK_2]=twoJButton; 
    
    threeJButton=new JButton(); 
    threeJButton.setBounds(500,100,100,100); 
    threeJButton.setText("3"); 
    contentPane.add(threeJButton); 
    keyJButtons[KeyEvent.VK_3]=threeJButton; 
    
    fourJButton=new JButton(); 
    fourJButton.setBounds(300,200,100,100); 
    fourJButton.setText("4"); 
    contentPane.add(fourJButton); 
    keyJButtons[KeyEvent.VK_4]=fourJButton; 
    
    fiveJButton=new JButton(); 
    fiveJButton.setBounds(400,200,100,100); 
    fiveJButton.setText("5"); 
    contentPane.add(fiveJButton); 
    keyJButtons[KeyEvent.VK_5]=fiveJButton; 
    
    sixJButton=new JButton(); 
    sixJButton.setBounds(500,200,100,100); 
    sixJButton.setText("6"); 
    contentPane.add(sixJButton); 
    keyJButtons[KeyEvent.VK_6]=sixJButton; 
    
    sevenJButton=new JButton(); 
    sevenJButton.setBounds(300,300,100,100); 
    sevenJButton.setText("7"); 
    contentPane.add(sevenJButton); 
    keyJButtons[KeyEvent.VK_7]=sevenJButton; 
    
    eightJButton=new JButton(); 
    eightJButton.setBounds(400,300,100,100); 
    eightJButton.setText("8"); 
    contentPane.add(eightJButton); 
    keyJButtons[KeyEvent.VK_8]=eightJButton; 
    
    nineJButton=new JButton();        
    nineJButton.setBounds(500,300,100,100); 
    nineJButton.setText("9"); 
    contentPane.add(nineJButton); 
    keyJButtons[KeyEvent.VK_9]=nineJButton; 
    
    pointJButton=new JButton(); 
    pointJButton.setBounds(300,400,100,100); 
    pointJButton.setText("."); 
    contentPane.add(pointJButton); 
    keyJButtons[KeyEvent.VK_PERIOD]=pointJButton; 
    
    plusJButton=new JButton(); 
    plusJButton.setBounds(400,400,100,100); 
    plusJButton.setText("+"); 
    contentPane.add(pointJButton); 
    keyJButtons[KeyEvent.VK_EQUALS]=plusJButton; 
    plusJButton.addActionListener( 
      new ActionListener() 
  { 
      public void actionPerformed(ActionEvent event) 
      { 
        plusJButtonActionPerformed(event); 
      } 
  } 
    ); 
    
    minusJButton=new JButton(); 
    minusJButton.setBounds(400,500,100,100); 
    minusJButton.setText("-"); 
    contentPane.add(minusJButton); 
    keyJButtons[KeyEvent.VK_MINUS]=minusJButton; 
    minusJButton.addActionListener( 
    new ActionListener() 

    public void actionPerformed(ActionEvent event) 
    { 
    minusJButtonActionPerformed(event); 
    } 

    ); 
    
    removeJButton=new JButton(); 
    removeJButton.setBounds(500,500,100,100); 
    removeJButton.setText("/"); 
    contentPane.add(removeJButton); 
    keyJButtons[KeyEvent.VK_QUOTE]=removeJButton; 
    removeJButton.addActionListener( 
    new ActionListener() 

    public void actionPerformed(ActionEvent event) 
    { 
    removeJButtonActionPerformed(event); 
    } 

    ); 
    multiplyJButton=new JButton(); 
    multiplyJButton.setBounds(500,400,100,100); 
    multiplyJButton.setText("*"); 
    contentPane.add(multiplyJButton); 
    keyJButtons[KeyEvent.VK_3]=multiplyJButton; 
    multiplyJButton.addActionListener( 
    new ActionListener() 

    public void actionPerformed(ActionEvent event) 
    { 
    multiplyJButtonActionPerformed(event); 
    } 

    ); 
    
    equalJButton=new JButton(); 
    equalJButton.setBounds(500,500,100,100); 
    equalJButton.setText("="); 
    contentPane.add(equalJButton); 
    keyJButtons[KeyEvent.VK_3]=equalJButton; 
equalJButton.addActionListener( 
new ActionListener() 

public void actionPerformed(ActionEvent event) 

equalJButtonActionPerformed(event); 


); 
    
    
    theResultJTextField.setBounds(0,0,400,100); 
    theResultJTextField.setText(String.valueOf(daan)); 
    theResultJTextField.setEditable(false); 
    contentPane.add(theResultJTextField); 
    } 
    private double equalJButtonActionPerformed(ActionEvent event) 

switch(shuzi) 

case 1: 
daan=jisuan1*jisuan2; 
break; 
case 2: 
daan=jisuan1-jisuan2; 
break; 
case 3: 
daan=jisuan1*jisuan2; 
break; 
case 4: 
daan=jisuan1/jisuan2; 
break; 

return daan; 

    private void plusJButtonActionPerformed(ActionEvent event) 
    {  
    shuzi=5; 
    shuzi=shuzi%4; 
    } 
    private void minusJButtonActionPerformed(ActionEvent event) 
    { 
    shuzi=6; 
    shuzi=shuzi%4; 
    } 
    private void multiplyJButtonActionPerformed(ActionEvent event) 
    { 
    shuzi=7; 
    shuzi=shuzi%4; 
    } 
    private void removeJButtonActionPerformed(ActionEvent event) 
    { 
    shuzi=8; 
    shuzi=shuzi%4; 
    } 
public static void main(String[] args) 

jisuanqi application=new jisuanqi(); 
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} } 抛出的异常是这个: java.lang.NullPointerException 
at jisuanqi.jiSuan(jisuanqi.java:194) 
at jisuanqi. <init>(jisuanqi.java:50) 
at jisuanqi.main(jisuanqi.java:249) 
Exception in thread "main" 
请大虾们指导一下,,谢谢了!