| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:设计一个表示虚数的类,需要实现其中的构造函数、toString、euqals、hashCo ...
只看楼主 加入收藏
kingofhevil
Rank: 1
等 级:新手上路
帖 子:37
专家分:6
注 册:2012-3-7
结帖率:85.71%
收藏
 问题点数:0 回复次数:2 
设计一个表示虚数的类,需要实现其中的构造函数、toString、euqals、hashCode这4个函数,并实现Comparable接口(按模比较大小)
设计一个表示虚数的类,需要实现其中的构造函数、toString、euqals、hashCode这4个函数,并实现Comparable接口(按模比较大小)
搜索更多相关主题的帖子: 接口 
2013-07-13 16:47
kingofhevil
Rank: 1
等 级:新手上路
帖 子:37
专家分:6
注 册:2012-3-7
收藏
得分:0 
程序代码:
package examination;

public class ImaginaryNumber implements Comparable<ImaginaryNumber> 
{
    public ImaginaryNumber(int n, int i)
    {
        realnum = n;
        imanum = i;
    }

    public ImaginaryNumber(int n)
    {
        realnum = n;
        imanum = 0;
    }

    public String toString()
    {
        String s = realnum + "+" + imanum + "i";
        return s;
    }

    public boolean equals(ImaginaryNumber i)
    {
        if (this.realnum == i.realnum)
        {
            if (this.imanum == i.imanum)
                return true;
        }
        return false;
    }

    public int hashCode()
    {
        int h = 31;
        h = 31 * h + realnum;
        h = 31 * h + imanum;
        return h;
    }

    private int realnum;
    private int imanum;

    @Override
    public int compareTo(Imanum other)
    {

        double r = Math.sqrt(Math.pow(this.realnum, 2)
                + Math.pow(this.imanum, 2));
        double o = Math.sqrt(Math.pow(other.realnum, 2)
                + Math.pow(other.imanum, 2));
        if (r > o)
            return 1;
        if (r < o)
            return -1;
        return 0;
    }
}
求大神帮忙看下哪里有问题!
2013-07-13 20:50
kingofhevil
Rank: 1
等 级:新手上路
帖 子:37
专家分:6
注 册:2012-3-7
收藏
得分:0 
看来天下无人了!最后还是俺自己编出来了!!
程序代码:
package examination;

public class ImaginaryNumber implements Comparable<ImaginaryNumber> 
{
    public ImaginaryNumber(double re, double im)//带参数构造函数
    {
        realpart = re;
        imaginarypart = im;
    }
    
    public double getRealpart()
    {
        return realpart;
    }
    
    public double getImaginarypart()
    {
        return imaginarypart;
    }

    public String toString()
    {
        String s =getRealpart() + "+" + getImaginarypart() + "i";
        return s;
    }

    public boolean equals(ImaginaryNumber other)
    {
        if (this.getRealpart() == other.getRealpart())
        {
            if (this.getImaginarypart() == other.getImaginarypart())
                return true;
        }
        return false;
    }

    public int hashCode()
    {
        return 3*new Double(getRealpart()).hashCode()+5*new Double(getImaginarypart()).hashCode();
    }

    private double realpart;
    private double imaginarypart;

    public int compareTo(ImaginaryNumber otherObject)
    {
        ImaginaryNumber other = (ImaginaryNumber) otherObject;        
        double r = Math.sqrt(Math.pow(this.getRealpart(), 2)
                + Math.pow(this.getImaginarypart(), 2));
        double s = Math.sqrt(Math.pow(other.getRealpart(), 2)
                + Math.pow(other.getImaginarypart(), 2));
        if (r > s)
            return 1;
        if (r < s)
            return -1;
        return 0;
     }
}
收到的鲜花
  • java小蚂蚁2013-07-26 17:01 送鲜花  35朵   附言:这才好啊,自己写出来的!加油啊
2013-07-20 19:10
快速回复:设计一个表示虚数的类,需要实现其中的构造函数、toString、euqals、h ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019777 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved