Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在客户端调用构造函数?_Java - Fatal编程技术网

Java 如何在客户端调用构造函数?

Java 如何在客户端调用构造函数?,java,Java,我试图编写一个程序,接受用户输入并创建一个矩形。程序将验证用户输入是否为有效矩形,如果是,将输出面积和周长。第一个屏幕截图是测试客户机,第二个是主屏幕截图。当我运行Rectangle.java时,它可以很好地编译,但当我编译Test.java时,它会说:“错误:找不到符号布尔结果=ValidRectangle(宽度、长度);”它说找不到ValidRectangle、面积和周长。救命啊!不确定为什么它不能自动识别Rectangle.java中的构造函数 import java.util.Scann

我试图编写一个程序,接受用户输入并创建一个矩形。程序将验证用户输入是否为有效矩形,如果是,将输出面积和周长。第一个屏幕截图是测试客户机,第二个是主屏幕截图。当我运行Rectangle.java时,它可以很好地编译,但当我编译Test.java时,它会说:“错误:找不到符号布尔结果=ValidRectangle(宽度、长度);”它说找不到ValidRectangle、面积和周长。救命啊!不确定为什么它不能自动识别Rectangle.java中的构造函数

import java.util.Scanner;

public class Rectangle {

/*Validates that the rectangle is acceptable*/

public static boolean ValidRectangle (double width, double length) {

    if (width + length > 30)

        return true;
    else
        return false;
}

/*Calculates the area of the rectangle*/

public static double Area (double width, double length) {
    return (width * length);
}

/*Calculates the perimeter of the rectangle*/

public static double Perimeter (double width, double length) {
    return (2 * (width + length));
}
我试图用谷歌搜索这个错误,但没有找到多少帮助。我以为它会自动识别构造函数

//Rectangle.java

import java.util.Scanner;

public class Rectangle {

/*Validates that the rectangle is acceptable*/

public static boolean ValidRectangle (double width, double length) {

    if (width + length > 30)

        return true;
    else
        return false;
}

/*Calculates the area of the rectangle*/

public static double Area (double width, double length) {
    return (width * length);
}

/*Calculates the perimeter of the rectangle*/

public static double Perimeter (double width, double length) {
    return (2 * (width + length));
}
}

//Test.java

import java.io.*;
import java.util.Scanner;  

public class Test {

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

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

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

    System.out.println ("Entered Width : "+width);
            System.out.println ("Entered length : "+length);

    boolean result = ValidRectangle (width, length);

    if(result==false)
         System.out.println("This is invalid rectangle. Try 
                 again...");
    else {
         System.out.println("Area : "+Area (width, length));
         System.out.println("Perimeter : "+Perimeter (width, 
                 length));
               }
           }
       }

ValidRectangle
是属于类
Rectangle
的方法
ValidRectangle
是静态的,因此不必实例化
矩形
对象。你可以这样称呼它:

boolean result = Rectangle.ValidRectangle(width, length);

作为补充说明,我建议您遵循流行的Java代码样式约定,例如。具体来说,您应该使用。

ValidRectangle
是属于类
Rectangle
的方法
ValidRectangle
是静态的,因此不必实例化
矩形
对象。你可以这样称呼它:

boolean result = Rectangle.ValidRectangle(width, length);

作为补充说明,我建议您遵循流行的Java代码样式约定,例如。具体来说,您应该使用。

您应该导入静态方法 在代码“公共类测试”之前添加import static,如下所示

...
import static your.package.Rectangle.ValidRectangle ;
public class Test {...

您应该导入静态方法 在代码“公共类测试”之前添加import static,如下所示

...
import static your.package.Rectangle.ValidRectangle ;
public class Test {...

使用
矩形.ValidRectangle(宽度、长度)
或者您可以添加一个import static语句,该语句允许您调用矩形中的所有静态函数,而无需引用它:
import static(包含矩形的包).Rectangle

使用
矩形.ValidRectangle(宽度、长度)
或者您可以添加一个import static语句,该语句允许您调用矩形中的所有静态函数,而无需引用它:
import static(包含矩形的包).Rectangle

如果要调用静态
ValidRectangle
方法,则需要
boolean result=Rectangle.ValidRectangle(宽度、长度)。这与“施工人员”无关,谢谢!这使它更有意义。我调用了ValidRectangle方法,但是如果我想调用area方法,它会像“double area=Rectangle.area(width,length);”?如果你想调用静态的
ValidRectangle
方法,你需要
boolean result=Rectangle.ValidRectangle(width,length)。这与“施工人员”无关,谢谢!这使它更有意义。我调用了ValidRectangle方法,但是如果我想调用area方法,它会像“double area=Rectangle.area(width,length);”这样吗?