一个计算器程序(相当的不完善),
有问题,能编译,却不能解析,就是抛出异常,不知为什么,我是新手,请大家帮助
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"
请大虾们指导一下,,谢谢了!
有问题,能编译,却不能解析,就是抛出异常,不知为什么,我是新手,请大家帮助
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"
请大虾们指导一下,,谢谢了!
在出错的地方加上
theResultJTextField = new JTextField();