java计算器问题

作者&投稿:寇沸 (若有异议请与网页底部的电邮联系)
java计算器问题~

看不清 zhangmingjie@zehin.com.cn 邮箱给看看

你看看你这行代码 写重复了,
for (int i = 0; i < button.length; i++)button[i].addActionListener(this);//for (int i = 0; i < button.length; i++)//button[i].addActionListener(this);// 为按钮注册注释掉一个就行了。 在第50行左右。

说出来你会晕的,你看一下t2获取的是那个框里的值

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class Counter extends Frame
{
//声明三个面板的布局
GridLayout gl1,gl2,gl3;
//实例化四个面板
Panel p0=new Panel();
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
//Panel p0,p1,p2,p3;
JTextField tf1=new JTextField(27);
TextField tf2=new TextField(10);
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26;
StringBuffer str=new StringBuffer();//显示屏所显示的字符串
double x,y;//x和y都是运算数
int z;//Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/"
static double m;//记忆的数字
public Counter()
{
gl1=new GridLayout(1,4,3,3);//实例化三个面板的布局
gl2=new GridLayout(4,1,3,3);
gl3=new GridLayout(4,5,3,3);

//tf1=new JTextField(27);//显示屏
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(false);
tf1.setText("0");
//tf2=new TextField(10);//显示记忆的索引值
tf2.setEditable(false);
//实例化所有按钮、设置其前景色并注册监听器
b0=new Button("Backspace");
b0.setForeground(Color.red);
b0.addActionListener(new Bt());
b1=new Button("CE");
b1.setForeground(Color.red);
b1.addActionListener(new Bt());
b2=new Button("C");
b2.setForeground(Color.red);
b2.addActionListener(new Bt());
b3=new Button("MC");
b3.setForeground(Color.red);
b3.addActionListener(new Bt());
b4=new Button("MR");
b4.setForeground(Color.red);
b4.addActionListener(new Bt());
b5=new Button("MS");
b5.setForeground(Color.red);
b5.addActionListener(new Bt());
b6=new Button("M+");
b6.setForeground(Color.red);
b6.addActionListener(new Bt());
b7=new Button("7");
b7.setForeground(Color.blue);
b7.addActionListener(new Bt());
b8=new Button("8");
b8.setForeground(Color.blue);
b8.addActionListener(new Bt());
b9=new Button("9");
b9.setForeground(Color.blue);
b9.addActionListener(new Bt());
b10=new Button("/");
b10.setForeground(Color.red);
b10.addActionListener(new Bt());
b11=new Button("sqrt");
b11.setForeground(Color.blue);
b11.addActionListener(new Bt());
b12=new Button("4");
b12.setForeground(Color.blue);
b12.addActionListener(new Bt());
b13=new Button("5");
b13.setForeground(Color.blue);
b13.addActionListener(new Bt());
b14=new Button("6");
b14.setForeground(Color.blue);
b14.addActionListener(new Bt());
b15=new Button("*");
b15.setForeground(Color.red);
b15.addActionListener(new Bt());
b16=new Button("%");
b16.setForeground(Color.blue);
b16.addActionListener(new Bt());
b17=new Button("1");
b17.setForeground(Color.blue);
b17.addActionListener(new Bt());
b18=new Button("2");
b18.setForeground(Color.blue);
b18.addActionListener(new Bt());
b19=new Button("3");
b19.setForeground(Color.blue);
b19.addActionListener(new Bt());
b20=new Button("-");
b20.setForeground(Color.red);
b20.addActionListener(new Bt());
b21=new Button("1/X");
b21.setForeground(Color.blue);
b21.addActionListener(new Bt());
b22=new Button("0");
b22.setForeground(Color.blue);
b22.addActionListener(new Bt());
b23=new Button("+/-");
b23.setForeground(Color.blue);
b23.addActionListener(new Bt());
b24=new Button(".");
b24.setForeground(Color.blue);
b24.addActionListener(new Bt());
b25=new Button("+");
b25.setForeground(Color.red);
b25.addActionListener(new Bt());
b26=new Button("=");
b26.setForeground(Color.red);
b26.addActionListener(new Bt());

////实例化四个面板
//p0=new Panel();
//p1=new Panel();
//p2=new Panel();
//p3=new Panel();
//创建一个空字符串缓冲区
//str=new StringBuffer();

//添加面板p0中的组件和设置其在框架中的位置和大小
p0.add(tf1);
p0.setBounds(10,22,300,40);
//添加面板p1中的组件和设置其在框架中的位置和大小
p1.setLayout(gl1);
p1.add(tf2);
p1.add(b0);
p1.add(b1);
p1.add(b2);
p1.setBounds(10,65,300,25);
//添加面板p2中的组件并设置其的框架中的位置和大小
p2.setLayout(gl2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.setBounds(10,110,40,150);
//添加面板p3中的组件并设置其在框架中的位置和大小
p3.setLayout(gl3);//设置p3的布局
p3.add(b7);
p3.add(b8);
p3.add(b9);
p3.add(b10);
p3.add(b11);
p3.add(b12);
p3.add(b13);
p3.add(b14);
p3.add(b15);
p3.add(b16);
p3.add(b17);
p3.add(b18);
p3.add(b19);
p3.add(b20);
p3.add(b21);
p3.add(b22);
p3.add(b23);
p3.add(b24);
p3.add(b25);
p3.add(b26);
p3.setBounds(60,110,250,150);
//设置框架中的布局为空布局并添加4个面板
setLayout(null);
add(p0);
add(p1);
add(p2);
add(p3);
setResizable(false);//禁止调整框架的大小
//匿名类关闭窗口
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e1)
{
System.exit(0);
}
});
setBackground(Color.lightGray);
setBounds(100,100,320,270);
setVisible(true);

}
//构造监听器
class Bt implements ActionListener {
public void actionPerformed(ActionEvent e2) {
try{

if(e2.getSource()==b1){//选择"CE"清零

tf1.setText("0");//把显示屏清零
str.setLength(0);//清空字符串缓冲区以准备接收新的输入运算数
} else if(e2.getSource()==b2){//选择"C"清零

tf1.setText("0");//把显示屏清零
str.setLength(0);
} else if(e2.getSource()==b23){//单击"+/-"选择输入的运算数是正数还是负数

x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(-x));
} else if(e2.getSource()==b25){//单击加号按钮获得x的值和z的值并清空y的值

x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);//清空缓冲区以便接收新的另一个运算数
y=0d;
z=0;
} else if(e2.getSource()==b20){//单击减号按钮获得x的值和z的值并清空y的值

x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=1;
} else if(e2.getSource()==b15){//单击乘号按钮获得x的值和z的值并清空y的值

x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=2;
} else if(e2.getSource()==b10){//单击除号按钮获得x的值和z的值并空y的值

x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=3;
} else if(e2.getSource()==b26){//单击等号按钮输出计算结果

str.setLength(0);
switch(z) {
case 0 : tf1.setText(""+(x+y));break;
case 1 : tf1.setText(""+(x-y));break;
case 2 : tf1.setText(""+(x*y));break;
case 3 : tf1.setText(""+(x/y));break;
}
} else if(e2.getSource()==b24){//单击"."按钮输入小数

if(tf1.getText().trim().indexOf(".")!=-1){//判断字符串中是否已经包含了小数点
}
else{//如果没数点有小

if(tf1.getText().trim().equals("0")){//如果初时显示为0

str.setLength(0);
tf1.setText((str.append("0"+e2.getActionCommand())).toString());
}
else if(tf1.getText().trim().equals("")){//如果初时显示为空则不做任何操作

}
else{

tf1.setText(str.append(e2.getActionCommand()).toString());
}
}

y=0d;

} else if(e2.getSource()==b11){//求平方根

x=Double.parseDouble(tf1.getText().trim());
tf1.setText("数字格式异常");
if(x<0)
tf1.setText("负数没有平方根");
else
tf1.setText(""+Math.sqrt(x));
str.setLength(0);
y=0d;
} else if(e2.getSource()==b16){//单击了"%"按钮

x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(0.01*x));
str.setLength(0);
y=0d;
} else if(e2.getSource()==b21){//单击了"1/X"按钮

x=Double.parseDouble(tf1.getText().trim());
if(x==0){
tf1.setText("除数不能为零");
}
else{

tf1.setText(""+(1/x));
}
str.setLength(0);
y=0d;
} else if(e2.getSource()==b3){//MC为清除内存

m=0d;
tf2.setText("");
str.setLength(0);
} else if(e2.getSource()==b4){//MR为重新调用存储的数据

if(tf2.getText().trim()!=""){//有记忆数字

tf1.setText(""+m);
}
} else if(e2.getSource()==b5){//MS为存储显示的数据
m=Double.parseDouble(tf1.getText().trim());
tf2.setText("M");
tf1.setText("0");
str.setLength(0);
} else if(e2.getSource()==b6){//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR

m=m+Double.parseDouble(tf1.getText().trim());
}
else{//选择的是其他的按钮

if(e2.getSource()==b22){//如果选择的是"0"这个数字键

if(tf1.getText().trim().equals("0")){//如果显示屏显示的为零不做操作
}
else{

tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
} else if(e2.getSource()==b0){//选择的是“BackSpace”按钮

if(!tf1.getText().trim().equals("0")){//如果显示屏显示的不是零

if(str.length()!=1){

tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能抛出字符串越界异常
}
else{

tf1.setText("0");
str.setLength(0);
}
}
y=Double.parseDouble(tf1.getText().trim());
}
else{//其他的数字键

tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
} catch(NumberFormatException e){
tf1.setText("数字格式异常");
} catch(StringIndexOutOfBoundsException e){
tf1.setText("字符串索引越界");
}
}
}
public static void main(String args[])
{
new Counter();
}

}

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

public class Calculator3 extends JFrame implements ActionListener {
private boolean dotExist, operated, equaled; // 帮助运算的布尔变量
private double storedNumber; // 目前的结果
private char lastOperator; // 表示上一运算符
private JTextField operation; // 结果栏
private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; // 运算符
private JButton[] numbers; // 数字
// 构造者

public Calculator3() {
setTitle("Calculator");
// 初始化变量
dotExist = false; // 表示当前的数是否有小数点
operated = false; // 表示任意运算符是否被按下
equaled = false; // 表示等号是否被按下
storedNumber = 0;
lastOperator = '?';
// 初始化窗口变量
operation = new JTextField("0");
operation.setEditable(false);
numbers = new JButton[10];
for (int i = 0; i < 10; i++)
numbers[i] = new JButton("" + i);
dot = new JButton(".");
plus = new JButton("+");
minus = new JButton("-");
multi = new JButton("*");
div = new JButton("/");
sqrt = new JButton("√");
equal = new JButton("=");
changePN = new JButton("±");
clear = new JButton("AC");
// 将窗口物体放入窗口
GridBagLayout layout = new GridBagLayout();
getContentPane().setLayout(layout);
addComponent(layout, operation, 0, 0, 4, 1);
addComponent(layout, numbers[1], 1, 0, 1, 1);
addComponent(layout, numbers[2], 1, 1, 1, 1);
addComponent(layout, numbers[3], 1, 2, 1, 1);
addComponent(layout, numbers[4], 2, 0, 1, 1);
addComponent(layout, numbers[5], 2, 1, 1, 1);
addComponent(layout, numbers[6], 2, 2, 1, 1);
addComponent(layout, numbers[7], 3, 0, 1, 1);
addComponent(layout, numbers[8], 3, 1, 1, 1);
addComponent(layout, numbers[9], 3, 2, 1, 1);
addComponent(layout, dot, 4, 0, 1, 1);
addComponent(layout, numbers[0], 4, 1, 1, 1);
addComponent(layout, sqrt, 4, 2, 1, 1);
addComponent(layout, plus, 1, 3, 1, 1);
addComponent(layout, minus, 2, 3, 1, 1);
addComponent(layout, multi, 3, 3, 1, 1);
addComponent(layout, div, 4, 3, 1, 1);
addComponent(layout, equal, 5, 0, 2, 1);
addComponent(layout, changePN, 5, 2, 1, 1);
addComponent(layout, clear, 5, 3, 1, 1);
}

// 对按钮进行反应的方法
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
if (btn == clear) {
operation.setText("0");
dotExist = false;
storedNumber = 0;
lastOperator = '?';
} else if (btn == equal) {
operate('=');
equaled = true;
} else if (btn == plus) {
operate('+');
equaled = false;
} else if (btn == minus) {
operate('-');
equaled = false;
} else if (btn == multi) {
operate('*');
equaled = false;
} else if (btn == div) {
operate('/');
equaled = false;
} else if (btn == changePN) {
operate('p');
operate('=');
equaled = true;
} else if (btn == sqrt) {
operate('s');
operate('=');
equaled = true;
} else {
if (equaled)
storedNumber = 0;
for (int i = 0; i < 10; i++)
if (btn == numbers[i]) {
if (operation.getText().equals("0"))
operation.setText("" + i);
else if (!operated)
operation.setText(operation.getText() + i);
else {
operation.setText("" + i);
operated = false;
}
}
if (btn == dot && !dotExist) {
operation.setText(operation.getText() + ".");
dotExist = true;
}
}
}

// 进行运算的方法
private void operate(char operator) {
double currentNumber = Double.valueOf(operation.getText())
.doubleValue();
if (lastOperator == '?')
storedNumber = currentNumber;
else if (lastOperator == '+')
storedNumber += currentNumber;
else if (lastOperator == '-')
storedNumber -= currentNumber;
else if (lastOperator == '*')
storedNumber *= currentNumber;
else if (lastOperator == '/')
storedNumber /= currentNumber;
else if (lastOperator == 'p')
storedNumber *= -1;
else if (lastOperator == 's')
storedNumber = Math.sqrt(currentNumber);
else if (lastOperator == '=' && equaled)
storedNumber = currentNumber;
operation.setText("" + storedNumber);
operated = true;
lastOperator = operator;
}

// 快捷使用GridBagLayout的方法
private void addComponent(GridBagLayout layout, Component component,
int row, int col, int width, int height) {
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.BOTH;
constraints.insets = new Insets(10, 2, 10, 2);
constraints.weightx = 100;
constraints.weighty = 100;
constraints.gridx = col;
constraints.gridy = row;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints(component, constraints);
if (component instanceof JButton)
((JButton) component).addActionListener(this);
getContentPane().add(component);
}

// 主方法初始化并显示窗口
public static void main(String[] args) {
Calculator3 calc = new Calculator3();
calc.setSize(290, 400);
calc.setVisible(true);
}
}

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.border.*;

import java.util.LinkedList; //工具包
import java.text.NumberFormat; //文本包

public class Calculator extends Frame implements ActionListener //计算器类
{
JTextField result;
NumberButton numberButton[];
OperatorButton operatorButton[];

Button radixpoint,positiveminus,backspace,reciprocal,equal,clear; //声明成员变量
//小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮
Panel panel;
String operator[]={"+","-","*","/"};

LinkedList linklist;
boolean pressequal=false;

public Calculator() //构造方法
{
super("计算器");
linklist=new LinkedList();
numberButton=new NumberButton[10];

for(int i=0;i<=9;i++)
{
numberButton[i]=new NumberButton(i);
numberButton[i].addActionListener(this);
}

operatorButton=new OperatorButton[4];
for(int i=0;i<4;i++)
{
operatorButton[i]=new OperatorButton(operator[i]);
operatorButton[i].addActionListener(this);
}

radixpoint=new Button(".");
positiveminus=new Button("+/-");
backspace=new Button("CE");
reciprocal=new Button("1/x");
equal=new Button("=");
clear=new Button("C");

radixpoint.setForeground(Color.red);
positiveminus.setForeground(Color.red);
backspace.setForeground(Color.red);
reciprocal.setForeground(Color.red);
equal.setForeground(Color.red);
clear.setForeground(Color.red);

radixpoint.addActionListener(this);
positiveminus.addActionListener(this);
backspace.addActionListener(this);
reciprocal.addActionListener(this);
equal.addActionListener(this);
clear.addActionListener(this);

result=new JTextField(10);
result.setHorizontalAlignment(JTextField.RIGHT);
result.setForeground(Color.black);
result.setBackground(Color.white);
result.setFont(new Font("TimesRoman",Font.PLAIN,14));
result.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
result.setEditable(false);

panel=new Panel();
panel.setLayout(new GridLayout(4,5));

panel.add(numberButton[1]);
panel.add(numberButton[2]);
panel.add(numberButton[3]);
panel.add(backspace);
panel.add(clear);

panel.add(numberButton[4]);
panel.add(numberButton[5]);
panel.add(numberButton[6]);
panel.add(operatorButton[0]);
panel.add(operatorButton[2]);

panel.add(numberButton[7]);
panel.add(numberButton[8]);
panel.add(numberButton[9]);
panel.add(operatorButton[1]);
panel.add(operatorButton[3]);

panel.add(numberButton[0]);
panel.add(positiveminus);
panel.add(reciprocal);
panel.add(radixpoint);
panel.add(equal);

add(result,"North");
add(panel,"Center");

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

setSize(270,200);
setLocation(300,230);
setVisible(true);
}

public void actionPerformed(ActionEvent e) //按钮的单击事件处理方法
{
if(e.getSource() instanceof NumberButton) //数字按钮
{
NumberButton b=(NumberButton)e.getSource();
if(linklist.size()==0)
{
int number=b.getNumber();
linklist.add(""+number);
result.setText(""+number);
pressequal=false;
}

else if(linklist.size()==1&&pressequal==false)
{
int number=b.getNumber();
String num=(String)linklist.getFirst();
String s=num.concat(""+number);
linklist.set(0,s);
result.setText(s);
}
else if(linklist.size()==1&&pressequal==true)
{
int number=b.getNumber();
linklist.removeFirst();
linklist.add(""+number);
pressequal=false;
result.setText(""+number);
}
else if(linklist.size()==2)
{
int number=b.getNumber();
linklist.add(""+number);

result.setText(""+number);
}
else if(linklist.size()==3)
{
int number=b.getNumber();
String num=(String)linklist.getLast();
String s=num.concat(""+number);
linklist.set(2,s);
result.setText(s);
}
}
else if(e.getSource() instanceof OperatorButton) //操作按钮
{
OperatorButton b=(OperatorButton)e.getSource();
if(linklist.size()==1)
{
String fuhao=b.getOperator();

linklist.add(fuhao);
}
else if(linklist.size()==2)
{
String fuhao=b.getOperator();
linklist.set(1,fuhao);
}
else if(linklist.size()==3)
{
String fuhao=b.getOperator();
String number1=(String)linklist.getFirst();
String number2=(String)linklist.getLast();
String operator=(String)linklist.get(1);
try
{
double n1=Double.parseDouble(number1);
double n2=Double.parseDouble(number2);
double n=0;
if(operator.equals("+"))
{
n=n1+n2;
}
else if(operator.equals("-"))
{
n=n1-n2;
}
else if(operator.equals("*"))
{
n=n1*n2;
}
else if(operator.equals("/"))
{
n=n1/n2;
}
linklist.clear();
linklist.add(""+n);
linklist.add(fuhao);
result.setText(""+n);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==equal) //等号按钮
{
pressequal=true;
if(linklist.size()==1||linklist.size()==2)
{
String num=(String)linklist.getFirst();
result.setText(""+num);
}
else if(linklist.size()==3)
{
String number1=(String)linklist.getFirst();
String number2=(String)linklist.getLast();
String operator=(String)linklist.get(1);
try
{
double n1=Double.parseDouble(number1);
double n2=Double.parseDouble(number2);
double n=0;
if(operator.equals("+"))
{
n=n1+n2;
}
else if(operator.equals("-"))
{
n=n1-n2;
}
else if(operator.equals("*"))
{
n=n1*n2;
}
else if(operator.equals("/"))
{
n=n1/n2;
}
result.setText(""+n);
linklist.set(0,""+n);
linklist.removeLast();
linklist.removeLast();

}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==radixpoint) //小数点按钮
{
if(linklist.size()==0)
{
pressequal=false;
}
else if(linklist.size()==1)
{
String dot=radixpoint.getLabel();
String num=(String)linklist.getFirst();
String s=null;
if(num.indexOf(dot)==-1)
{
s=num.concat(dot);
linklist.set(0,s);
}
else
{
s=num;
}
linklist.set(0,s);
result.setText(s);
}

else if(linklist.size()==3)
{
String dot=radixpoint.getLabel();
String num=(String)linklist.getLast();
String s=null;
if(num.indexOf(dot)==-1)
{
s=num.concat(dot);
linklist.set(2,s);
}
else
{
s=num;
}
result.setText(s);
}
}
else if(e.getSource()==backspace) //退格按钮
{
if(linklist.size()==1)
{
String num=(String)linklist.getFirst();
if(num.length()>=1)
{
num=num.substring(0,num.length()-1);
linklist.set(0,num);
result.setText(num);
}
else
{
linklist.removeLast();
result.setText("0");
}
}
else if(linklist.size()==3)
{
String num=(String)linklist.getLast();
if(num.length()>=1)
{
num=num.substring(0,num.length()-1);
linklist.set(2,num);
result.setText(num);
}
else
{
linklist.removeLast();
result.setText("0");
}
}
}
else if(e.getSource()==positiveminus) //正负号按钮
{
if(linklist.size()==1)
{
String number1=(String)linklist.getFirst();
try
{
double d=Double.parseDouble(number1);
d=-1*d;
String str=String.valueOf(d);
linklist.set(0,str);
result.setText(str);
}
catch(Exception ee)
{
}
}
else if(linklist.size()==3)
{
String number2=(String)linklist.getLast();
try
{
double d=Double.parseDouble(number2);
d=-1*d;
String str=String.valueOf(d);
linklist.set(2,str);
result.setText(str);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==reciprocal) //求倒数按钮
{
if(linklist.size()==1||linklist.size()==2)
{
String number1=(String)linklist.getFirst();
try
{
double d=Double.parseDouble(number1);
d=1.0/d;
String str=String.valueOf(d);
linklist.set(0,str);
result.setText(str);
}
catch(Exception ee)
{
}
}
else if(linklist.size()==3)
{
String number2=(String)linklist.getLast();
try
{
double d=Double.parseDouble(number2);
d=1.0/d;
String str=String.valueOf(d);
linklist.set(0,str);
result.setText(str);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==clear) //清零按钮
{
pressequal=false;
result.setText("0");
linklist.clear();
}
}

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

class NumberButton extends Button //数字按钮类
{
int number;
public NumberButton(int number) //构造方法
{
super(""+number);
this.number=number;
setForeground(Color.blue);
}
public int getNumber()
{
return number;
}
}

class OperatorButton extends Button //运算符号按钮类
{
String operator;
public OperatorButton(String operator) //构造方法
{
super(operator);
this.operator=operator;
setForeground(Color.red);
}
public String getOperator()
{
return operator;
}
}


AVA少校5到上校1要多少经验 要准确数字
4380400 计算器算的 少校 5护兵 3196100--3545400 40 中校 1护兵 3545400--4536500 41 中校 2护兵 4536500--5166500 42 中校 3护兵 5166500--5876500 43 中校 4护兵 5876500--6676500 44 中校 5护兵 6676500--7576500 45 上校 1护兵 7576500--8486500 46 ...

ava选择兵种时按F1没有反映
可能有写模式没有F1比如JU房,或刀战,又或许 你的F1坏了

ava中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop...
按企业现有的NT服务器,有必要使DCOM的分布式服务,也可以应用在非微软平台上。为了解决这些问题,它需要相当长的一段时间。基于CORBA的产品,和JAV一个RMI已经成功地运行在多操作系统环境。后期推出的多平台,DCOM,CORBA和RMI领先??的多。 ActiveX控件和JavaBeans竞争力的前景?无论在Web浏览器或运行在另一个地方运行的...

AVA和CF有什么不一样?
这样的效果就是游戏的模型虽然多边形数量比较少但是其渲染精度几乎和数百万多边形的模型一样,这样可以在保证效果的同时在最大程度上节省显卡的计算资源。 虚拟3引擎下AVA超惊艳显示效果 - 战斗中根据战况及我军,敌人的编制,可自由选择3种兵种。 - 根据兵种的选择,可动态地更改部队的战术性编制,从而可体验查找敌人弱点...

《机械姬》这部电影怎么样?
而饰演机器人Ava的Alicia Vikander冷艳得恰到好处,与片中她机械感的造型放在一起,简直美得一塌糊涂。《机械姬》是我看过的最冰冷性感的科幻片,是一场充满仪式感的事故。七天的 session 不是巧合,它给电影插入了节奏感,同时也带来了一片上帝造人的混乱。Nathan天才地想到给Ava 留个心眼(偷偷安装...

谁说智能驾驶不能成为“生产力”?阿维塔11第一个不服!
实际体验来看,阿维塔11的这套AVATRANS智能领航系统称得上同级Top。 阿维塔科技高级执行副总裁陈卓也透露,长安汽车董事长朱华荣日前亲自驾驶阿维塔11从机场到龙岗,在1小时20分钟的城区道路驾驶中使用了智驾,全程只人为接管了两次。 值得注意的是,这次驾驶发生在晚高峰,驾驶过程由其助理拍摄,还进行了直播。我想,如果不是对...

纵横波联合弹性阻抗反演
1)由测井资料计算vP,vS和ρ。如果没有横波测井,可通过Castagna方程或其他的经验公式求取横波速度;2)利用Boit—Gassmann流体替换模型(FRM)对已知井计算含水饱和度(Sw),或含气饱和度(Sg),Sg=1-Sw,计算替换后的P波曲线、S波曲线、密度、孔隙度、纵横波速度比等,从而建立含气或含水的样本模式;3...

java架构师,需要什么条件?
AVA架构师要求是很高的,除了要精通JAVA方面知识以外,还要掌握计算机所有软件方面,以及部分硬件方面的知识。程序设计方面:JAVA、JAVA Application、JAVA EE(例如:EJB、RMI、JMS、WebService)、开源、设计模式、JavaScript、C\/C++、.NET方面、VBA 。数据库方面:SQL、ORACLE、MySQL、索引、分区、分片、主从...

看AVA高手是怎样练成的战地之王
这是反应和控制的问题,如果对方的拉枪不如你,你肯定先打死对方。这才是高手。准确的判断和意识(比如可以看到敌人可以猜到对方下一步会做怎样的行动,利用精明的战术将对方打死,甚至可以说对方根本都不知道你在哪就被打死了,多是练出来的,当然天才也是有的)身法,我以前跟高手打过,人家跟我说,如果是一般的菜鸟,...

多软件系统在油气勘探中的联合应用研究
除此,国内外还有很多小规模的软件公司从事地球物理软件的开发,其特点是:软件系统相对较小,主要解决油气勘探中的某一类问题,含专业特色技术,且技术特色明显[2]。 1.5 智能化 智能化是现代信息技术应用的又一个特征。各种软计算技术广泛应用于专业技术应用和信息管理、决策支持中,如人工智能、专家系统、人工神经网络等...

高安市13198104934: 用java编写计算器常犯的错误和解决方法? -
谯君地氟: 编写计算器应该是你j编程的一个小例子吧,它出现的错误一般都是很简单的,比如说实现接口出错、逻辑顺序出错,也就是说语法和算法中会出错.出错关键要看错误信息,然后判断自己的代码哪一部分出了问题,刚开始编程的时候如果不知道错误的意思可以在网上查看相似的错误例子,当解决的错误多了看到错误自然就心里有数了.成功的话说明编程入门了,深一点还可以做做具体的小项目练练手

高安市13198104934: 用JAVA 编写计算器时遇到的问题 -
谯君地氟: 首先找出第一眼就能发现的问题: s=="2"类似这样的代码是不对的,应该用s.equals("2").字符串比较不能用==. 其它问题我慢慢看.

高安市13198104934: 用java写的一个计算器,有点问题,请高手解决 -
谯君地氟: 楼主的问题出现在actionPerformed里的循环语句,本意是判断事件源是否是b[i]但是楼主这样做的结果只是耗长了程序运行的时间,使的下面没有必要的语句也加入了循环的队列.不如去掉for循环,把第一个判断语句改为if(e.getSource() == b[0]||...

高安市13198104934: 请教JAVA计算器问题
谯君地氟: 9为第一个变量,1为第二个变量,等出来的值为第三个变量. 再按等号之后,用第三个变量减去第二个变量,等出来的值又覆盖第三个变量. 这样就可以一直弄了.

高安市13198104934: 做java计算器乘跟除时出现如下错误~求高手指点~ -
谯君地氟: 你的代码发出来.肯定你把运算符号写在了运算数字里.

高安市13198104934: java 简单计算器的等于问题 -
谯君地氟: 最简单的就是设置一个变量如:isResult = false;当点击“=”按钮的事件发生后设置成isResult = true;然后在其他的数字监听事件前面加上if (isResult) {对应的textField.setText(""); isResult = false;}即可

高安市13198104934: 如何解决用java编出的计算器一开始按运算符号就会出错的问题,最好有解决方案的代码. -
谯君地氟: 一开始按就出错,是因为你第一没有输入的字符不存在,运算的对象为空了.再按下运算符时,先判断下是不是在按运算符前保存的输入的数字对象是不是为空了.

高安市13198104934: 谁能帮我解决这个JAVA简单计算器问题,我是初学者 -
谯君地氟: 它说你还有未实现的方法.实际上是你的方法名写错了. ActionPerformer 改为 ==> actionPerformed 即可.

高安市13198104934: Java 编程问题 我做的科学计算器,但是那个"M+","M - ","MR","MC"这几个键我不会弄,下面是代码,求帮助.. -
谯君地氟: 说下思路,代码自己搞定吧M+的意思是将当前的数与缓存区中的数相加并将结果存放到缓存区 最初缓存区中的数字默认为0 也就是说当你在按下输入9,再按下M+,就会在缓存区中存入9+0的结果也就是9,然后你又输入10再按下M+,这时候...

高安市13198104934: JAVA的简单计算器中,输入乘法出错是什么问题,这个是什么意思FindMin.classFindMin.java -
谯君地氟: 是输入参数的问题,java控制台参数如果传入 * 会出问题,你可以输入 '*' 然后再在程序里面转一下! public class SimpleCalculator{ public static void main(String[] args){ if(args.length!=3){ System.out.println("Usage:java SimpleCalculator "+...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网