import java.awt.*;
import java.awt.event.*;import javax.swing.*;public class Counter {
public static void main(String args[]) {
Wdesk Cdesk = new Wdesk();
}
}class Wdesk extends JFrame {
Wdesk() {
setTitle("Calculator");
setLayout(new GridLayout(2,1));
add(FJpanel);
FJpanel.add(TField);
FJpanel.add(DJpanel);
add(DJpanel);
DJpanel.setLayout(new GridLayout(4,4));
Button number1 = new Button("1");
number1.addActionListener(new btnAction());
DJpanel.add(number1);
Button number2 = new Button("2");
number2.addActionListener(new btnAction());
DJpanel.add(number2);
Button number3 = new Button("3");
number3.addActionListener(new btnAction());
DJpanel.add(number3);
Button number12 = new Button("/");
number12.addActionListener(new btnAction());
DJpanel.add(number12);
Button number4 = new Button("4");
number4.addActionListener(new btnAction());
DJpanel.add(number4);
Button number5 = new Button("5");
number5.addActionListener(new btnAction());
DJpanel.add(number5 );
Button number6 = new Button("6");
number6.addActionListener(new btnAction());
DJpanel.add(number6);
Button number0 = new Button("-");
number0.addActionListener(new btnAction());
DJpanel.add(number0);
Button number7 = new Button("7");
number7.addActionListener(new btnAction());
DJpanel.add(number7);
Button number8 = new Button("8");
number8.addActionListener(new btnAction());
DJpanel.add(number8);
Button number9 = new Button("9");
number9.addActionListener(new btnAction());
DJpanel.add(number9);
Button number14 = new Button(".");
number14.addActionListener(new btnAction());
DJpanel.add(number14);
Button number10 = new Button("0");
number10.addActionListener(new btnAction());
DJpanel.add(number10);
Button number11 = new Button("*");
number11.addActionListener(new btnAction());
DJpanel.add(number11);
Button number15 = new Button("+");
number15.addActionListener(new btnAction());
DJpanel.add(number15);
Button number16 = new Button("=");
number16.addActionListener(new btnAction());
DJpanel.add(number16);
pack();
setResizable(false);
setVisible(true);
}
class Close extends WindowAdapter{
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
}
/*public int Check() {
numStr = numText.getText();
}*/
String numStr = null;
JPanel FJpanel = new JPanel();
JPanel DJpanel = new JPanel();
TextField TField = new TextField("",50);
private class btnAction implements ActionListener{
private boolean not = true;
private char ch;
public void actionPerformed(ActionEvent event){
if(event.getActionCommand()=="0"){
TField.setText(TField.getText()+0);
}
if(event.getActionCommand()=="1") {
TField.setText(TField.getText()+1);
}
if(event.getActionCommand()=="2") {
TField.setText(TField.getText()+2);
}
if(event.getActionCommand()=="3")
{TField.setText(TField.getText()+3);
}
if(event.getActionCommand()=="4") {
TField.setText(TField.getText()+4);
}
if(event.getActionCommand()=="5") {
TField.setText(TField.getText()+5);
}
if(event.getActionCommand()=="6") {
TField.setText(TField.getText()+6);
}
if(event.getActionCommand()=="7") {
TField.setText(TField.getText()+7);
}
if(event.getActionCommand()=="8") {
TField.setText(TField.getText()+8);
}
if(event.getActionCommand()=="9") {
TField.setText(TField.getText()+9);
}
if(event.getActionCommand()=="清空") {
TField.setText("0");
}
if(event.getActionCommand() == "+")
{
ch = '+';
TField.setText("");
}
if(event.getActionCommand() == "-")
{
ch = '-';
TField.setText("");
}
if(event.getActionCommand() == "*")
{
ch = '*';
TField.setText("");
}
if(event.getActionCommand() == "/")
{
ch = '/';
TField.setText("");
}
int number1 = Integer.parseInt(event.getActionCommand());
int number2 = number1;
if(event.getActionCommand() == " =") {
switch(ch) {
case '+':TField.setText(""+(number1+number2));
break;
case '-' : TField.setText(""+(number2 - number2));
break;
case '*' : TField.setText(""+(number1*number2));
break;
case '/' : TField.setText(""+number1/number2);
break;
}
}
}
}
}
当按下运算符时不能出现要的结果,哪位给改一下??
import java.awt.event.*;import javax.swing.*;public class Counter {
public static void main(String args[]) {
Wdesk Cdesk = new Wdesk();
}
}class Wdesk extends JFrame {
Wdesk() {
setTitle("Calculator");
setLayout(new GridLayout(2,1));
add(FJpanel);
FJpanel.add(TField);
FJpanel.add(DJpanel);
add(DJpanel);
DJpanel.setLayout(new GridLayout(4,4));
Button number1 = new Button("1");
number1.addActionListener(new btnAction());
DJpanel.add(number1);
Button number2 = new Button("2");
number2.addActionListener(new btnAction());
DJpanel.add(number2);
Button number3 = new Button("3");
number3.addActionListener(new btnAction());
DJpanel.add(number3);
Button number12 = new Button("/");
number12.addActionListener(new btnAction());
DJpanel.add(number12);
Button number4 = new Button("4");
number4.addActionListener(new btnAction());
DJpanel.add(number4);
Button number5 = new Button("5");
number5.addActionListener(new btnAction());
DJpanel.add(number5 );
Button number6 = new Button("6");
number6.addActionListener(new btnAction());
DJpanel.add(number6);
Button number0 = new Button("-");
number0.addActionListener(new btnAction());
DJpanel.add(number0);
Button number7 = new Button("7");
number7.addActionListener(new btnAction());
DJpanel.add(number7);
Button number8 = new Button("8");
number8.addActionListener(new btnAction());
DJpanel.add(number8);
Button number9 = new Button("9");
number9.addActionListener(new btnAction());
DJpanel.add(number9);
Button number14 = new Button(".");
number14.addActionListener(new btnAction());
DJpanel.add(number14);
Button number10 = new Button("0");
number10.addActionListener(new btnAction());
DJpanel.add(number10);
Button number11 = new Button("*");
number11.addActionListener(new btnAction());
DJpanel.add(number11);
Button number15 = new Button("+");
number15.addActionListener(new btnAction());
DJpanel.add(number15);
Button number16 = new Button("=");
number16.addActionListener(new btnAction());
DJpanel.add(number16);
pack();
setResizable(false);
setVisible(true);
}
class Close extends WindowAdapter{
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
}
/*public int Check() {
numStr = numText.getText();
}*/
String numStr = null;
JPanel FJpanel = new JPanel();
JPanel DJpanel = new JPanel();
TextField TField = new TextField("",50);
private class btnAction implements ActionListener{
private boolean not = true;
private char ch;
public void actionPerformed(ActionEvent event){
if(event.getActionCommand()=="0"){
TField.setText(TField.getText()+0);
}
if(event.getActionCommand()=="1") {
TField.setText(TField.getText()+1);
}
if(event.getActionCommand()=="2") {
TField.setText(TField.getText()+2);
}
if(event.getActionCommand()=="3")
{TField.setText(TField.getText()+3);
}
if(event.getActionCommand()=="4") {
TField.setText(TField.getText()+4);
}
if(event.getActionCommand()=="5") {
TField.setText(TField.getText()+5);
}
if(event.getActionCommand()=="6") {
TField.setText(TField.getText()+6);
}
if(event.getActionCommand()=="7") {
TField.setText(TField.getText()+7);
}
if(event.getActionCommand()=="8") {
TField.setText(TField.getText()+8);
}
if(event.getActionCommand()=="9") {
TField.setText(TField.getText()+9);
}
if(event.getActionCommand()=="清空") {
TField.setText("0");
}
if(event.getActionCommand() == "+")
{
ch = '+';
TField.setText("");
}
if(event.getActionCommand() == "-")
{
ch = '-';
TField.setText("");
}
if(event.getActionCommand() == "*")
{
ch = '*';
TField.setText("");
}
if(event.getActionCommand() == "/")
{
ch = '/';
TField.setText("");
}
int number1 = Integer.parseInt(event.getActionCommand());
int number2 = number1;
if(event.getActionCommand() == " =") {
switch(ch) {
case '+':TField.setText(""+(number1+number2));
break;
case '-' : TField.setText(""+(number2 - number2));
break;
case '*' : TField.setText(""+(number1*number2));
break;
case '/' : TField.setText(""+number1/number2);
break;
}
}
}
}
}
当按下运算符时不能出现要的结果,哪位给改一下??
解决方案 »
- Class javax.comm.SerialPort是抽象类,串口编程中的使用求解
- 请问1L+11为什么不等于12L
- JAVA问题
- Spring 的 jdbcTemplate 对于那些只返回简单类型的查询如何处理?
- 另外下载的开发包怎么导入阿 急
- Java应用程序打包成.EXE程序
- objectInputStream的问题
- TOMCAT4.1 + IIS 如何配置网上的教程都是讲3.0的
- 有人做过用java发传真的东西吗?
- 高分求助foxpro的jdbc驱动程序!!!!
- 我显示了很多图片出现了Exception in thread "Image Fetcher 3" java.lang.OutOfMemoryError: Jav
- 为什么我的进入cmd中后就打印不出汉字了?????????、、
你的这个程序在按下运算符时会出现以下异常:java.lang.NumberFormatException: For input string: "-"
出现异常的原因是第163行代码:int number1 = Integer.parseInt(event.getActionCommand());
因为parseInt(String s) 这个方法要求传入的参数的要求是:必须是数字形式的字符串,比如说"123","12345"等,而当你输入运算符时"+","-","*","/"都不是数字形式的字符串,在调用parseInt(String s)方法将字符串转换为数字就转换不了,所以会发生NumberFormatException(数字格式化异常)。
import java.awt.event.*;import javax.swing.*;public class Counter {
public static void main(String args[]) {
Wdesk Cdesk = new Wdesk();
}
}class Wdesk extends JFrame {
private char ch;
private int number1;
private int number2;
Wdesk() {
setTitle("Calculator");
setLayout(new GridLayout(2,1));
add(FJpanel);
FJpanel.add(TField);
FJpanel.add(DJpanel);
add(DJpanel);
DJpanel.setLayout(new GridLayout(4,4));
Button number1 = new Button("1");
number1.addActionListener(new btnAction());
DJpanel.add(number1);
Button number2 = new Button("2");
number2.addActionListener(new btnAction());
DJpanel.add(number2);
Button number3 = new Button("3");
number3.addActionListener(new btnAction());
DJpanel.add(number3);
Button number12 = new Button("/");
number12.addActionListener(new btnAction());
DJpanel.add(number12);
Button number4 = new Button("4");
number4.addActionListener(new btnAction());
DJpanel.add(number4);
Button number5 = new Button("5");
number5.addActionListener(new btnAction());
DJpanel.add(number5 );
Button number6 = new Button("6");
number6.addActionListener(new btnAction());
DJpanel.add(number6);
Button number0 = new Button("-");
number0.addActionListener(new btnAction());
DJpanel.add(number0);
Button number7 = new Button("7");
number7.addActionListener(new btnAction());
DJpanel.add(number7);
Button number8 = new Button("8");
number8.addActionListener(new btnAction());
DJpanel.add(number8);
Button number9 = new Button("9");
number9.addActionListener(new btnAction());
DJpanel.add(number9);
Button number14 = new Button(".");
number14.addActionListener(new btnAction());
DJpanel.add(number14);
Button number10 = new Button("0");
number10.addActionListener(new btnAction());
DJpanel.add(number10);
Button number11 = new Button("*");
number11.addActionListener(new btnAction());
DJpanel.add(number11);
Button number15 = new Button("+");
number15.addActionListener(new btnAction());
DJpanel.add(number15);
Button number16 = new Button("=");
number16.addActionListener(new btnAction());
DJpanel.add(number16);
pack();
setResizable(false);
setVisible(true);
}
class Close extends WindowAdapter{
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
}
/*public int Check() {
numStr = numText.getText();
}*/
String numStr = null;
JPanel FJpanel = new JPanel();
JPanel DJpanel = new JPanel();
TextField TField = new TextField("",50);
private class btnAction implements ActionListener{
private boolean not = true; public void actionPerformed(ActionEvent event){
if(event.getActionCommand()=="0"){
TField.setText(TField.getText()+0);
}
if(event.getActionCommand()=="1") {
TField.setText(TField.getText()+1);
}
if(event.getActionCommand()=="2") {
TField.setText(TField.getText()+2);
}
if(event.getActionCommand()=="3")
{TField.setText(TField.getText()+3);
}
if(event.getActionCommand()=="4") {
TField.setText(TField.getText()+4);
}
if(event.getActionCommand()=="5") {
TField.setText(TField.getText()+5);
}
if(event.getActionCommand()=="6") {
TField.setText(TField.getText()+6);
}
if(event.getActionCommand()=="7") {
TField.setText(TField.getText()+7);
}
if(event.getActionCommand()=="8") {
TField.setText(TField.getText()+8);
}
if(event.getActionCommand()=="9") {
TField.setText(TField.getText()+9);
}
if(event.getActionCommand()=="清空") {
TField.setText("0");
}
if(event.getActionCommand() == "+")
{
ch = '+';
if(!"".equals(TField.getText()))
number1 = Integer.parseInt(TField.getText());
TField.setText("");
}
else if(event.getActionCommand() == "-")
{
ch = '-';
if(!"".equals(TField.getText()))
number1 = Integer.parseInt(TField.getText());
TField.setText("");
}
else if(event.getActionCommand() == "*")
{
ch = '*';
if(!"".equals(TField.getText()))
number1 = Integer.parseInt(TField.getText());
TField.setText("");
}
else if(event.getActionCommand() == "/")
{
ch = '/';
if(!"".equals(TField.getText()))
number1 = Integer.parseInt(TField.getText());
TField.setText("");
}
else if(event.getActionCommand() == "=") {
number2 = Integer.parseInt(TField.getText());
switch(ch) {
case '+':TField.setText(""+(number1+number2));
break;
case '-' : TField.setText(""+(number1 - number2));
break;
case '*' : TField.setText(""+(number1*number2));
break;
case '/' : TField.setText(""+number1/number2);
break;
}}
}
}
}
if(!"".equals(TField.getText()))这个表示的意思就是:你是否在文本框中输入了内容,在文本框中输入了内容这个条件才成立!如果不进行此判断的话,我没有输入任何内容然后就点了“运算符”就会报错的,因为没有内容,和前面谈到的,就会出现格式化错误!!!!得到两个操作数问题:得到第一个是在你 按了数字接着又按了 运算符的时候得到,通过TField.getText()
第二个是在你按下等号的时候得到,通过TField.getText()