/**
* @(#)Calculator.java
*
* Calculator application
*
* @author
* @version 1.00 2009/5/25
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.io.*;
public class c extends JFrame implements ActionListener
{
public c()
{
JFrame f=new JFrame("Calculator");
Container cp=f.getContentPane();
cp.setLayout(new FlowLayout());
JPanel p1=new JPanel();
JTextField t= new JTextField(20);
p1.add(t);
t.addActionListener(this);
JPanel p2=new JPanel(new GridLayout(4,4));
JButton bt1=new JButton("7"),
bt2=new JButton("8"),
bt3=new JButton("9"),
bt4=new JButton("/"),
bt5=new JButton("4"),
bt6=new JButton("5"),
bt7=new JButton("6"),
bt8=new JButton("*"),
bt9=new JButton("1"),
bt10=new JButton("2"),
bt11=new JButton("3"),
bt12=new JButton("-"),
bt13=new JButton("0"),
bt14=new JButton("."),
bt15=new JButton("="),
bt16=new JButton("+");
p2.add(bt1);bt1.addActionListener(this);
p2.add(bt2);bt2.addActionListener(this);
p2.add(bt3);bt3.addActionListener(this);
p2.add(bt4);bt4.addActionListener(this);
p2.add(bt5);bt5.addActionListener(this);
p2.add(bt6);bt6.addActionListener(this);
p2.add(bt7);bt7.addActionListener(this);
p2.add(bt8);bt8.addActionListener(this);
p2.add(bt9);bt9.addActionListener(this);
p2.add(bt10);bt10.addActionListener(this);
p2.add(bt11);bt11.addActionListener(this);
p2.add(bt12);bt12.addActionListener(this);
p2.add(bt13);bt13.addActionListener(this);
p2.add(bt14);bt14.addActionListener(this);
p2.add(bt15);bt15.addActionListener(this);
p2.add(bt16);bt16.addActionListener(this);
f.pack();
cp.add(p1);
cp.add(p2);
f.setSize(200,200);
f.setVisible(true);
f.addWindowListener(new WinLis());
}
class WinLis extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
public static void main(String[]args)
{
new c();
}
public void actionPerformed(ActionEvent e)
{
private double arg;
private String op="=";
private boolean start=true;
String s=e.getActionCommand();
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
{
if(start) display.setText(s);
else display.setText(display.getText()+s);
}
else
{
if(start)
{
if(s.equals("."))
{
dispaly.setText(s);
start=false;
}
else
{
if(start)
{
if(s.equals("-"))
{
dispaly.setText(s);
start=false;
}
}
else op=s;
}
}
else
{
double x=Double.parseDouble(dispaly.getText());
calculate(x);
op=s;
start=true;
}
}
}
public void calculate(double n)
{
if(op.equals("+")) arg+=n;
else if(op.equals("-")) arg-=n;
else if(op.equals("*")) arg*=n;
else if(op.equals("/")) arg/=n;
else if(op.equals("=")) arg=n;
display.setText(" "+arg);
}
}我是新手,刚编写了一个计算器的程序,请各位老师帮忙看看为什么出错啊。具体错误:E:\homework3\Calculator\c\src\c.java:77: 非法的表达式开始
private double arg;
^
E:\homework3\Calculator\c\src\c.java:81: 非法的类型开始
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
^
E:\homework3\Calculator\c\src\c.java:81: 需要 <标识符>
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
^
E:\homework3\Calculator\c\src\c.java:81: 非法的类型开始
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
^
E:\homework3\Calculator\c\src\c.java:86: 非法的类型开始
else
^
E:\homework3\Calculator\c\src\c.java:117: 需要为 class、interface 或 enum
public void calculate(double n)
^
E:\homework3\Calculator\c\src\c.java:120: 需要为 class、interface 或 enum
else if(op.equals("-")) arg-=n;
^
E:\homework3\Calculator\c\src\c.java:121: 需要为 class、interface 或 enum
else if(op.equals("*")) arg*=n;
^
E:\homework3\Calculator\c\src\c.java:122: 需要为 class、interface 或 enum
else if(op.equals("/")) arg/=n;
^
E:\homework3\Calculator\c\src\c.java:123: 需要为 class、interface 或 enum
else if(op.equals("=")) arg=n;
^
E:\homework3\Calculator\c\src\c.java:124: 需要为 class、interface 或 enum
display.setText(" "+arg);
^
E:\homework3\Calculator\c\src\c.java:125: 需要为 class、interface 或 enum
}
^
12 错误
来源: http://www.programbbs.com/bbs/view22-20801-1.htm
* @(#)Calculator.java
*
* Calculator application
*
* @author
* @version 1.00 2009/5/25
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.io.*;
public class c extends JFrame implements ActionListener
{
public c()
{
JFrame f=new JFrame("Calculator");
Container cp=f.getContentPane();
cp.setLayout(new FlowLayout());
JPanel p1=new JPanel();
JTextField t= new JTextField(20);
p1.add(t);
t.addActionListener(this);
JPanel p2=new JPanel(new GridLayout(4,4));
JButton bt1=new JButton("7"),
bt2=new JButton("8"),
bt3=new JButton("9"),
bt4=new JButton("/"),
bt5=new JButton("4"),
bt6=new JButton("5"),
bt7=new JButton("6"),
bt8=new JButton("*"),
bt9=new JButton("1"),
bt10=new JButton("2"),
bt11=new JButton("3"),
bt12=new JButton("-"),
bt13=new JButton("0"),
bt14=new JButton("."),
bt15=new JButton("="),
bt16=new JButton("+");
p2.add(bt1);bt1.addActionListener(this);
p2.add(bt2);bt2.addActionListener(this);
p2.add(bt3);bt3.addActionListener(this);
p2.add(bt4);bt4.addActionListener(this);
p2.add(bt5);bt5.addActionListener(this);
p2.add(bt6);bt6.addActionListener(this);
p2.add(bt7);bt7.addActionListener(this);
p2.add(bt8);bt8.addActionListener(this);
p2.add(bt9);bt9.addActionListener(this);
p2.add(bt10);bt10.addActionListener(this);
p2.add(bt11);bt11.addActionListener(this);
p2.add(bt12);bt12.addActionListener(this);
p2.add(bt13);bt13.addActionListener(this);
p2.add(bt14);bt14.addActionListener(this);
p2.add(bt15);bt15.addActionListener(this);
p2.add(bt16);bt16.addActionListener(this);
f.pack();
cp.add(p1);
cp.add(p2);
f.setSize(200,200);
f.setVisible(true);
f.addWindowListener(new WinLis());
}
class WinLis extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
public static void main(String[]args)
{
new c();
}
public void actionPerformed(ActionEvent e)
{
private double arg;
private String op="=";
private boolean start=true;
String s=e.getActionCommand();
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
{
if(start) display.setText(s);
else display.setText(display.getText()+s);
}
else
{
if(start)
{
if(s.equals("."))
{
dispaly.setText(s);
start=false;
}
else
{
if(start)
{
if(s.equals("-"))
{
dispaly.setText(s);
start=false;
}
}
else op=s;
}
}
else
{
double x=Double.parseDouble(dispaly.getText());
calculate(x);
op=s;
start=true;
}
}
}
public void calculate(double n)
{
if(op.equals("+")) arg+=n;
else if(op.equals("-")) arg-=n;
else if(op.equals("*")) arg*=n;
else if(op.equals("/")) arg/=n;
else if(op.equals("=")) arg=n;
display.setText(" "+arg);
}
}我是新手,刚编写了一个计算器的程序,请各位老师帮忙看看为什么出错啊。具体错误:E:\homework3\Calculator\c\src\c.java:77: 非法的表达式开始
private double arg;
^
E:\homework3\Calculator\c\src\c.java:81: 非法的类型开始
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
^
E:\homework3\Calculator\c\src\c.java:81: 需要 <标识符>
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
^
E:\homework3\Calculator\c\src\c.java:81: 非法的类型开始
if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.equals("."))
^
E:\homework3\Calculator\c\src\c.java:86: 非法的类型开始
else
^
E:\homework3\Calculator\c\src\c.java:117: 需要为 class、interface 或 enum
public void calculate(double n)
^
E:\homework3\Calculator\c\src\c.java:120: 需要为 class、interface 或 enum
else if(op.equals("-")) arg-=n;
^
E:\homework3\Calculator\c\src\c.java:121: 需要为 class、interface 或 enum
else if(op.equals("*")) arg*=n;
^
E:\homework3\Calculator\c\src\c.java:122: 需要为 class、interface 或 enum
else if(op.equals("/")) arg/=n;
^
E:\homework3\Calculator\c\src\c.java:123: 需要为 class、interface 或 enum
else if(op.equals("=")) arg=n;
^
E:\homework3\Calculator\c\src\c.java:124: 需要为 class、interface 或 enum
display.setText(" "+arg);
^
E:\homework3\Calculator\c\src\c.java:125: 需要为 class、interface 或 enum
}
^
12 错误
来源: http://www.programbbs.com/bbs/view22-20801-1.htm
{
/*下面这段改掉:
private double arg;
private String op="=";
private boolean start=true;
*/
double arg;
String op="=";
boolean start = true;
String s=e.getActionCommand();
if('0' <=s.charAt(0)&&s.charAt(0) <='9'||s.equals("."))
{
if(start) display.setText(s);
else display.setText(display.getText()+s);
}
else
{
if(start)
{
if(s.equals("."))
{
dispaly.setText(s);
start=false;
}
else
{
if(start)
{
if(s.equals("-"))
{
dispaly.setText(s);
start=false;
}
}
else op=s;
}
}
else
{
double x=Double.parseDouble(dispaly.getText());
calculate(x);
op=s;
start=true;
}
}
}
要写在class内,method外