将复数实现到集合和操作上

时间:2013-11-18 13:30:02

标签: java

我的IT类有一个任务,我应该实现一个带有复数元素的集合类,并且应该基于这个集合定义一些操作,例如intersection,union,complementments和cartesian product。

在我的程序中,我定义了集合类(multime),我想在其中定义我的两个集合来执行基于它们的操作。

然后我定义了Complex Numbers类(nrComplex),这有助于我构建复数。

在我的Main课程中,我给出了复数的值,如果我从键盘输入它们应该会更好但是即使这样也可以。

现在我的问题是:我应该如何将复数引入集合中,例如,如果我定义A和B集合,其中A = {a,b,c,d}和B = {e,f,g},因为必须对不在特定复数上的集合进行操作。

我是java的新手,我在google上搜索解决所有问题,所以我的代码应该为一些优秀的程序员服务。

这是我的代码:

package multime;
/**
*
* @author Dragosh
 */

public class Multime { 

    public static void main (String args[]) {
        try {
            Multime obj = new Multime();
            obj.run (args);
        }
        catch (Exception e) {
            e.printStackTrace(); 
        }
    }

    public void run (String args[]) throws Exception {
        NumarComplex a = new NumarComplex();
        a.setReal(1);// This one should be in first collection A
        a.setImaginar(2);// This one should be in first collection A
        b.setReal(3);// This one should be in second collection B
        b.setImaginar(5);// This one should be in second collection B
    }

    class NumarComplex {

        private float re, im;

        public float getReal() {
            return re;
        }

        public void setReal(float re) {
            this.re = re;
        }

        public float getImaginar() {
            return im;
        }

        public void setImaginar(float im) {
            this.im = im;
        }
    }   
}

1 个答案:

答案 0 :(得分:0)

您已经定义了要放入集合中的NumarComplex对象,但目前还没有实际收集这些对象的集合。我猜这就是你要求帮助的地方。

您可以通过扩展AbstractCollection

中定义的java.util来实现此目的

这可以使用您已编写的NumarComplex类来完成:

class ComplexNumberCollection extends AbstractCollection<NumarComplex> {

    @Override
    public Iterator<NumarComplex> iterator() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int size() {
        // TODO Auto-generated method stub
        return 0;
    }

}

然后你可以编写你要求实现的其他方法,如intersectionunion等。你可能还想在这个类中添加一些构造函数。有关更多信息,请参阅section 5 here