gpt4 book ai didi

java - Java 类的驱动程序 “Rectangle"

转载 作者:行者123 更新时间:2023-12-02 13:34:29 25 4
gpt4 key购买 nike

我从未在 Java 中为驱动程序使用过单独的文件。我习惯只使用 main 方法。我在 Python 中使用了单独的文件,但 Java 是新的。下面是我的每个类(“矩形”和“驱动程序”)的代码,每个类都来自单独的文件。

更新方法更改为静态:不要注意类名称或格式的更改......我只是进行调整,以便它可以与 MyProgrammingLab 一起使用。我仍然需要添加长度和宽度仅在 0.0 到 20.0 之间的参数(简单的 if-else 语句)。

import java.util.Scanner;

公共(public)类驱动程序{

public static void main(String[] args) {

Scanner input = new Scanner( System.in);

System.out.print("Enter length of rectangle:");
double length = input.nextDouble();
System.out.print("Enter width of rectangle:");
double width = input.nextDouble();

Rectangle Perimeter = new Rectangle(length, width);
Perimeter.getPerimeter();
Rectangle Area = new Rectangle(length, width);
Area.getArea();

System.out.printf("Area: %.1f, Perimeter: %.1f",Rectangle.getArea(),Rectangle.getPerimeter());

}

}

最终类矩形{

private static double mLength;
private static double mWidth;

public Rectangle(double length, double width){
mLength = length;
mWidth = width;
}
public double getLength(){
return mLength;
}

public double getWidth(){
return mWidth;
}

public static double getArea(){
double area = mWidth*mLength;
return area;
}
public static double getPerimeter(){
double perimeter = (mWidth*2)+(mLength*2);
return perimeter;

}

}

最佳答案

使用其长度和宽度创建 Rectangle 对象更有意义,因此通过传递 来使用重载的 Rectangle 构造函数>lengthwidth 参数(由用户输入)如下所示:

Rectangle  Perimeter = new Rectangle(length, width);

the constructor Rectangle() is undefined. Can anyone help?

重要的一点是,当您有一个重载的构造函数(例如 Rectangle 类中的构造函数)时(没有默认值,即没有编写参数构造函数),您无法创建对象使用new Rectangle();,这是因为编译器不会自动为您添加默认构造函数。我建议看看here了解更多详细信息。

此外,如果您想打印带有长度宽度详细信息的矩形对象,您需要覆盖 java.lang.Object 方法中的 toString() 方法如下所示:

public class Rectangle {

private double mLength;

private double mWidth;

//add your code here as is

@Override
public String toString() {
return "Rectangle [mLength=" + mLength + ", mWidth=" + mWidth + "]";
}
}

关于java - Java 类的驱动程序 “Rectangle",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com