练习题的代码

来源:9-9 Java 中的 Object 类 Ⅱ

慕仔7135344

2016-11-02 16:58

创建两个手机对象,比较他们的尺寸大小cpu和内存大小,球程序代码???

写回答 关注

2回答

  • 千修罗
    2016-11-02 19:55:32
    已采纳
    public class Telephone {
    	  float Screen;
    	  float Cpu;
    	  float Mem;
    public Telephone(float Screen,float Cpu,float Mem){
    	  this.Screen = Screen;
    	  this.Cpu = Cpu;
    	  this.Mem = Mem;
      }
    public boolean equals(Object obj) {
    	if (this == obj)
    		return true;
    	if (obj == null)
    		return false;
    	if (getClass() != obj.getClass())
    		return false;
    	Telephone other = (Telephone) obj;
    	if (Float.floatToIntBits(Cpu) != Float.floatToIntBits(other.Cpu))
    		return false;
    	if (Float.floatToIntBits(Mem) != Float.floatToIntBits(other.Mem))
    		return false;
    	if (Float.floatToIntBits(Screen) != Float.floatToIntBits(other.Screen))
    		return false;
    	return true;
    } 
    public static void main(String[] args){
    	  Telephone t1 = new Telephone(3.5f,1.0f,1.5f);
    	  Telephone t2 = new Telephone(3.5f,1.0f,1.5f);
    	  if(t1.equals(t2)){
    		  System.out.println("两个手机完全相同");
    	  }
    	  else{
    		  System.out.println("两个手机不完全相同");
    	  }
    }
    }


    曾小妍

    这代码我编译出错,说找不到符号,求大神指点

    2016-12-27 20:36:09

    共 2 条回复 >

  • 情非得以0
    2016-11-02 19:59:27

    Phone phone1=new Phone();

    Phone phone2=new Phone();

    if(Phone1.size==Phone2.size)

    System.out.println("尺寸相同");

    else

    System.out.println("尺寸不同");

    这是比较尺寸,同理可以比较CPU和内存大小;不过这种方法只能一个属性一个属性的比较,如果想直接将三种属性同时比较的话,就需要重写equals方法,在 source里面有重写equals方法的快捷方式,选择想比较的对象的哪些属性就勾选哪些属性,再直接用phone1.equals(phone2);来进行比较

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530655 学习 · 6091 问题

查看课程

相似问题