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