java类的封装、继承与多态性 10

2、试设计一个Calculator类,并完成下列的各方法的程序设计:定义add(a,b)方法,用来计算两数之和。定义mul(a,b)方法,用来计算两数的乘积。定义sub(... 2、试设计一个Calculator类,并完成下列的各方法的程序设计:
定义add(a,b)方法,用来计算两数之和。
定义mul(a,b)方法,用来计算两数的乘积。
定义sub(a,b)方法,用来计算两数之差。
定义div(a,b)方法,用来计算a/b。
各位老大给小弟一点帮助啊 急急急急急急急急急急急急急急急急急急急急急急急急急急急急
展开
 我来答
zhanghaiboap
2009-05-20
知道答主
回答量:5
采纳率:0%
帮助的人:7.3万
展开全部
如果你的这个设计没有特殊要求的话,一楼的算是正解了,如果要求封装和简写代码的话;可以参考下这个
public class Calculator
{
int sum=0;
public int cal(int a,int b,string sign)
{
if(sign.equals("+"))
{
sum=a+b;
System.out.println(sum);
}
else if(sign.equals("-"))
{
sum=a-b;
System.out.println(sum);
}
else if(sign.equals("*"))
{
sum=a*b;
System.out.println(sum);
}
else if(sign.equals("/") && b!=0)
{
sum=a/b;
System.out.println(sum);
}
return sum;
}

public static void main(String args[]){
Calculator c=new Calculator();
c.cal(3,2,"+");
c.cal(3,2,"-");
c.cal(3,2,"*");
c.cal(3,2,"/");
}
}
程序那点事
2009-05-17 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1336万
展开全部
你要怎么写 。。
public class Calculator{
int a=0;
int b=0;
int sum=0;
public int add(int a,int b){
sum=a+b;
System.out.println(sum);
return sum;
}

public int mul(int a,int b){
sum=a*b;
System.out.println(sum);
return sum;
}

public int sub(int a,int b){
sum=a-b;
System.out.println(sum);
return sum;
}

public int div(int a,int b){
sum=a/b;
System.out.println(sum);
return sum;
}

public static void main(String args[]){
Calculator c=new Calculator();
c.add(3,2);
c.mul(4,5);
c.sub(6,7);
c.div(5,9);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Raymondguo008
2009-05-17 · TA获得超过1634个赞
知道小有建树答主
回答量:887
采纳率:100%
帮助的人:478万
展开全部
这么麻烦吗
可以参考一下这个吧

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

public class Calculator {
public static void main(String[] args) {
CalculatorFrame frame = new CalculatorFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

class CalculatorFrame extends JFrame {
public CalculatorFrame() {
setTitle("Calculator");
CalculatorPanel panel = new CalculatorPanel();
add(panel);
pack();
}
}

class CalculatorPanel extends JPanel {

private JButton display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;

public CalculatorPanel() {
setLayout(new BorderLayout());

result = 0;
lastCommand = "=";
start = true;

display = new JButton("0");
display.setEnabled(false);
add(display, BorderLayout.NORTH);

ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();

panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));

addButton("7", insert);
addButton("8", insert);
addButton("9", insert);
addButton("/", command);

addButton("4", insert);
addButton("5", insert);
addButton("6", insert);
addButton("*", command);

addButton("1", insert);
addButton("2", insert);
addButton("3", insert);
addButton("-", command);

addButton("0", insert);
addButton(".", insert);
addButton("=", command);
addButton("+", command);

add(panel, BorderLayout.CENTER);
}

private void addButton(String label, ActionListener listener) {
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}

private class InsertAction implements ActionListener {
public void actionPerformed(ActionEvent event) {
String input = event.getActionCommand();
if(start) {
display.setText("");
start = false;
}
display.setText(display.getText() + input);
}
}

private class CommandAction implements ActionListener {
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if(start) {
if(command.equals("-")) {
display.setText(command);
start = false;
} else {
lastCommand = command;
}
} else {
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}
}

public void calculate(double x) {
if(lastCommand.equals("+")) result += x;
else if(lastCommand.equals("-")) result -= x;
else if(lastCommand.equals("/")) result /= x;
else if(lastCommand.equals("*")) result *= x;
else if(lastCommand.equals("=")) result = x;
display.setText("" + result);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友012e1acbd
2009-05-17 · 超过13用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
你要干什么????要封装一下??
要很号封装的话 就写个 配置文件得了。a=? b=? 然后在来读取这个文件,这样就不用修改代码了,直接改配置文件,相信不会Java的都会改。
如果你还觉得不爽的话 可以写个接口或者抽象类。。。。

是在不行就弄个web程序。或者swing组建 得了 、、、、
哈哈 、、、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BLACKGL
2009-05-17 · TA获得超过230个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:222万
展开全部
1楼 的正解啊。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuqwrmfw
2009-05-17 · TA获得超过123个赞
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
若没别的要求用一楼的就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式