急求如何用JAVA写一个简单的计算器 或者 画板

只要思路和源代码就行关键是思路不要整个程序的编程... 只要思路和源代码就行
关键是思路 不要整个程序的编程
展开
 我来答
ania6
2010-11-22 · TA获得超过180个赞
知道答主
回答量:82
采纳率:0%
帮助的人:109万
展开全部
import java.awt.*;
import java.awt.event.*;

public class jisuanqi extends WindowAdapter {
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
TextField txt;
private Button[] b = new Button[17];
private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2",
"3", "*", "清空", "0", "=", "/", "关闭" };
static double a;
static String s, str;//定义变量 创建对像

public static void main(String args[]) {
(new jisuanqi()).frame();
}

public void frame() {
Frame fm = new Frame("简单计算器");
for (int i = 0; i <= 16; i++) {
b[i] = new Button(ss[i]);
}
for (int i = 0; i <= 15; i++) {
p2.add(b[i]);
} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);
txt = new TextField(15);
txt.setEditable(false);
for (int i = 0; i <= 16; i++) {
b[i].addActionListener(new buttonlistener());//添加监听器
}
b[16].addActionListener(new close());
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(new BorderLayout());
p1.add(txt, "North");
p2.setLayout(new GridLayout(4, 4));
p3.setLayout(new BorderLayout());
p3.add(b[16]);
fm.add(p1, "North");
fm.add(p2, "Center");
fm.add(p3, "South");
fm.pack();
fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器
}

public void windowClosing(WindowEvent e) {
System.exit(0);//退出系统
}

class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e) {
Button btn = (Button) e.getSource();
if (btn.getLabel() == "=") {
jisuan();
str = String.valueOf(a);
txt.setText(str);
s = "";
} else if (btn.getLabel() == "+") {
jisuan();
txt.setText("");
s = "+";
} else if (btn.getLabel() == "-") {
jisuan();
txt.setText("");
s = "-";
} else if (btn.getLabel() == "/") {
jisuan();
txt.setText("");
s = "/";

} else if (btn.getLabel() == "*") {
jisuan();
txt.setText("");
s = "*";
} else {
txt.setText(txt.getText() + btn.getLabel());

if (btn.getLabel() == "清空")
txt.setText("");
}
}

public void jisuan() {//编写具体计算方法
if (s == "+")
a += Double.parseDouble(txt.getText());
else if (s == "-")
a -= Double.parseDouble(txt.getText());
else if (s == "*")
a *= Double.parseDouble(txt.getText());
else if (s == "/")
a /= Double.parseDouble(txt.getText());
else
a = Double.parseDouble(txt.getText());
}
}
}

class close implements ActionListener {//退出
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7bd78642b
2010-11-22 · TA获得超过236个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:238万
展开全部
先定义方法 一个方法要有至少三个参数 参数1 参数2 参数3
分别表示 第一个数字 第二个数字 字符(表示加减乘除的字符)

然后你就可以相应判断就可以了 例如+
怎就返回 return num1 + num2
*
return num1 * num2
运用的参数都是你输入的
但是中间要判断 例如除的时候 除数不能为零 以及 小数点数 四舍五入是否要加入到里面
然后要记得清空 要可以连续操作 要保留好最后一次计算的结果 可以使用 session
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
easysoft_ln
2010-11-22 · TA获得超过1208个赞
知道大有可为答主
回答量:1.3万
采纳率:41%
帮助的人:4695万
展开全部
For your question 急求如何用JAVA写一个简单的计算器 或者 画板,
告诉我你的问题和Email,
有进一步需求,可以我们联系,
有可能帮你,
使用百度_Hi给我留言,
此回复针对所有来访者和需求者有效,
ES:\\3C6452C8498C90640F48185D2E2E49A8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangguo2005
2010-11-22 · TA获得超过2981个赞
知道小有建树答主
回答量:125
采纳率:100%
帮助的人:90.7万
展开全部
20元可以考虑写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式