java 问题 可以检查下我的代码吗?

import java.awt.Rectangle;

import java.util.*;

public class ww {public static void main(String[]agrs) {


       Disk d1=new Disk();

       d1.setWidth(9.48);  

       Disk d2=new Disk();

       d2.setLength(4.2);

       System.out.println("area="+d1.getArea());

        

}

}

 class Disk {

         public double width;

         public double length;

public void setWidth(double w) {

   width=w;

}

public void setLength(double len) {

    length=len;

}

public double getWidth() {

    return width;

}

public double getlength() {

   return length;

}

public double getArea() {

   return width*length;

}

public String tostring() {

   

   return "area="+getArea();

}



//不知道为什么我运行后,面积的答案是area=0.0,很明显不对啊,9.48*4.2不可能是0.00啊 我是哪里写错了吗?很困惑

慕移动2184654
浏览 2236回答 5
5回答

___C___

Disk d1=new Disk();       d1.setWidth(9.48);         Disk d2=new Disk();       d2.setLength(4.2);       System.out.println("area="+d1.getArea());//你这里new了两个对象d1和d2,里面的属性成员初始化都为0在d1你setWidth(9.48);  后width的值为9.48,而length的值仍然为0。然后你最后计算输出的是d1,System.out.println("area="+d1.getArea());所以结果将会是return width*length;即return 9.48*0;d2则在代码中是打水漂的,只是d2.setLength(4.2);后,d2中的成员属性width值为0,length值为4.2谢谢采纳

___C___

        Disk d1=new Disk();       d1.setWidth(9.48);         Disk d2=new Disk();       d2.setLength(4.2);       System.out.println("area="+d1.getArea());将这里改为        Disk d1=new Disk();       d1.setWidth(9.48);        d1.setLength(4.2);       System.out.println("area="+d1.getArea());将会得到你想要的效果

半枯

public static void main(String[]agrs) {       Disk d1=new Disk();       d1.setWidth(9.48);         Disk d2=new Disk();       d2.setLength(4.2);       System.out.println("area="+d1.getArea());}加粗的地方错了,你创建的是2个对象,d1{width:9.48,length:0},d2{width:0,length:4.2}下面你应该知道该怎么写了
打开App,查看更多内容
随时随地看视频慕课网APP