收录日期:2018/12/11 04:23:26 时间:2016/05/18 06:54:58 标签:Java相关
用java 编写以下程序!!!运行环境:jdk 1.4

编写一个复数类,可以传递两个参数实部和虚部进行构造。
可以判断两个复数是否相等,进行复数的加减乘除运算,可以设定和获取
复数的实部和虚部,可以输出此复数。还可以明确创建了多少个复数类对象。


在此不尽感激!!!
这个要求有点过分了吧,怪不得没人理你
我帮你up一下
看看你给什么好处吧
如果我有现成的,可以给你。但是我没有。帮你up
这个需求有点太生僻了,估计手头有这样源码的人很少。

大概只能自己开发了,或者你可以向洪恩这样的在线教育软件开发公司询问,看看有没有相近的算法之类的东西。因为我看楼主大约是要编写一个数学教育软件
自己开发也应该可以做到吧,看来算法应该不会太难的
我看这倒像是一个练习题。
不难啊,自己试试就可以了
呵呵,很简单呀...
那天见了一个例子就是复数运算的,...
只是现在我公式都忘了...
也懒的自己写...
帮你up吧 :)
太懒了,这个东东也要别人写?
up
晕倒................ 自己拿本高中数学书,然后写吧,.忘了是高中还是初中了
力气活而已.
这个自己能完成吧,应该不难
我现在才看到,不过现在要下班了,你如果还需要的话,发个邮件吧,我明天帮你写一个
fengct@handsome.com.cn
up
up
太懒了吧!!!!!!!!!!!!!!!!!!!
up
up,不难,你很懒唉


一方面体现合成模式的概念,另一方面要使这个问题更接近一个真实的加法器,最后,我希望这个实现可以经过进一步努力后,给出减法、乘法、除法的实现。

package Arithmetics;

import java.util.Iterator;

public abstract class AbstractExpression
{
    public abstract AbstractExpression add(AbstractExpression v);

    public abstract double value();

    public abstract String getExpressionString();
}


/**8888888888888888888888888***/
package Arithmetics;

import java.util.Iterator;

public class NumericOperand extends AbstractExpression
{
    private double val = 0;
    private String expressionString = "";

    public NumericOperand(double v)
    {
        val = v;
        expressionString = ""+v;
    }
    public AbstractExpression add(AbstractExpression v)
    {
        val += v.value();
        expressionString = "(" + expressionString + " + " + v.getExpressionString() + ")";

if (v instanceof NumericOperand)
        {
return this;
        }
        else
        {
return v.add(this);
        }
    }

    public String getExpressionString()
    {
        return "(" + expressionString + ")";
    }

    public double value()
    {
return val;
    }
}

/*************************************************************/
package Arithmetics;

import java.util.HashMap;
import java.util.Iterator;

public class ComplexOperand extends AbstractExpression 
{
    private double val = 0;
    private HashMap expr = new HashMap(10);
    private int index = 0 ;
    private String expressionString = "";

    public ComplexOperand(double v)
    {
        val = v;
expressionString = ""+v;
    }

    public ComplexOperand(AbstractExpression v)
    {
val = v.value();
        expressionString = v.getExpressionString();
    }

    public AbstractExpression add(AbstractExpression v)
    {
        expr.put(new Integer(index), v);

        val += v.value();
        expressionString = "(" + expressionString + " + " + v.getExpressionString() + ")";

        return this;
    }

    public Iterator operands()
    {
        return expr.values().iterator();
    }

    public AbstractExpression getOperand(int i)
    {
return (AbstractExpression) expr.get(new Integer(i));
    }

    public String getExpressionString()
    {
return "(" + expressionString +")";
    }

    public double value()
    {
return val;
    }

}

/*******************************************************/

package Arithmetics;

public class Client
{
    public static void main(String[] args)
    {
AbstractExpression e1 = new NumericOperand(100.123);
AbstractExpression e2 = new NumericOperand(200.123);

        AbstractExpression e3 = new NumericOperand(300.123);
        AbstractExpression e4 = new NumericOperand(400.123);

        AbstractExpression ce1 = new ComplexOperand(e1);
        AbstractExpression ce2 = new ComplexOperand(e2);

        AbstractExpression ce3 = e1.add(e2);
        //Use case 1: 100.123 + 200.123
System.out.println(ce3.getExpressionString() + " = " + ce3.value());

        AbstractExpression ce4 = ce1.add(e2);
        ce1.add(e3);

        //Use case 2: (100.123 + 200.123) + 300.123
System.out.println(ce1.getExpressionString() + " = " + ce1.value());

        AbstractExpression ce5 = e1.add( e3.add(e4) );
        //Use case 3: (100.123 + 200.123) + (300.123 + 400.123)
System.out.println(ce5.getExpressionString() + " = " + ce5.value());

    }
}

我不知道在多大程度上实现了我的设想,大家提提意见,一同改进吧。
up

我会C/C++/C#/JAVA但没用过VC,学VC#难度大吗? 如何删除ACCESS中的任何一条记录信息??在线等待! 如何让文本框显示既定的内容,例如显示当前的日期或者session储存的值? 现在办点事真难 100分------求在ASp中画曲线图的程序示例!!!!!!!!! 政府部门的OA系统c/s、工商管理系统低价出售 谁能帮我? 串口通信 请问如何解决用Picture1.Print制作打印预览报表的屏幕闪烁问题? 请问lotue中的(kvoop.exe)应用程序是什么功能程序, 为什么占用这么多的资源。 急,两个NT4.0WorkStation的问题 开发CE下的COM的问题!!!! 站点计数器的问题 我的收藏夹:C++精典问答(初级篇) phpteam请进,在线~~~~~ 我的收藏夹:C++精典问答(中级篇) 我的收藏夹:C++精典问答(高级篇) 一个登陆的问题??? Unicode下如何读取一个文本文件的全部内容? 請問Win2000 Server可以裝什麼殺毒軟件 如何取到用户控件中的值? 请教ADOQUERY的SQL语句写法。 UP有分! 为什么我的机器装不上.net framework 考大家两个名词解释 整理数据库中的重码有好方法吗? 有空进来看看! 大家在软件公司每天都干些什么呀?是不是整天都coding?有周末吗? 各位大虾救命了(我要疯了) 怎么样在一个TValueListEditor控件中显示一个ComboBox一样的下拉框? 关于sql