为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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啊 我是哪里写错了吗?很困惑

查看完整描述

3 回答

已采纳
?
___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


谢谢采纳

查看完整回答
反对 回复 2018-05-06
?
___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());

将会得到你想要的效果


查看完整回答
反对 回复 2018-05-06
?
半枯

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}

下面你应该知道该怎么写了

查看完整回答
反对 回复 2018-05-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信