用于代码格式化的java程序| techguru实验室

时间:2014-10-01 21:09:55

标签: java

我是java编程语言的新手,我真的很想帮助理解以下代码的作用。我对Main类中发生的事情有了相当不错的理解。我对代码的输出感到困惑。你能简单描述一下代码的实际输出吗?这不是家庭作业,只是自学,帮助我做另一个这样的问题。这个练习可以在这里找到:[1]:http://techgurulab.com/course/java-tutorials/。谢谢!

class box {
    int width;
    int length;
    int volume;

    void volume(int height, int length, int width) {
        volume = width * height * length;
    }
}

class Prameterized_method {
    public static void main(String args[]) {
        box obj = new box();

        obj.height = 1;
        obj.length = 5;
        obj.width = 5;

        obj.volume(3, 2, 1);
        System.out.println(obj.volume);

    }
}

4 个答案:

答案 0 :(得分:3)

如果您的问题是它是打印25(1 * 5 * 5)还是6(1 * 2 * 3),那么它将打印6.在您方法的代码中:

void volume(int height, int length, int width) {
    volume = width * height * length;
}

volume代表this.volume,而height,length和width是函数的本地。要访问实例变量,您必须显式键入this.volume。

因此this.volume将是volume(3,2,1)的返回值,与this.height,this.length或this.width没有任何关系。

答案 1 :(得分:0)

由于没有指定访问修饰符,因此它是包私有的。意味着您可以从外部访问它,并且不需要任何吸气剂。

box obj = new box(); // Creates an object of type box
obj.volume(3, 2, 1); // Call the method to set the volume of the box with the parameters.
System.out.println(obj.volume); // Prints the volume 

这些都是我们在第一步中创建的obj对象连接的。

答案 2 :(得分:0)

上面显示的代码示例按以下顺序执行:

程序从

开始
public static void main(String args[]){
    ...
}

块。然后执行里面的代码。 The box obj = new box();行创建一个新对象。该对象是上面定义的类型框。这意味着该对象具有框class box { ... }

框中定义的字段和方法

接下来的几行代码

obj.height = 1;
obj.length = 5; 
obj.width = 5;
obj.volume(3, 2, 1); 
System.out.println(obj.volume);

obj.height我们将框的高度设置为1时 调用obj.length时,我们将框的长度设置为5 调用obj.width时,我们正在设置框的宽度。

请注意,框类没有高度字段,您需要添加

class box{
    int width;
    int heigh;
    int length;
    int volume;

    ...
}

然后我们有一个方法调用。这是obj.volume(3,2,1)电话。这需要一个尺寸为3x2x1的盒子,并通过乘以所有值来计算体积。这样做效率有点低,因为我们没有使用我们之前设置的字段。你可以修改方法:

void volume() {
    volume = width * height * length;
}

此方法将使用我们已在对象上设置的值,而不是使用参数设置的值。这将导致不会使用与我们之前设置的值不同的值来计算音量。

最后一行代码

System.out.printn(obj.volume)

将打印出框的音量到屏幕

答案 3 :(得分:0)

obj.height不存在 它没有被定义为类

中的字段