我今天开始使用方法&我遇到了一个错误,即主方法中的一个方程式并不适用于整个程序。它是第四行代码&我以为它输入正确。基本上,当你输入长度&宽度,您将获得矩形区域作为输出。这是代码:
double area = areaOfRectangle();
String YES = "Y";
String YES2 = "y";
String NO = "N";
String NO2 = "n";
boolean validInput = false;
System.out.print("Please enter a length: ");
float length = input.nextInt();
System.out.print("Please enter a width: ");
float width = input.nextInt();
System.out.printf("Area: %.2d %n", area);
do{
System.out.print("Enter more? (Y/N): ");
String input2 = input.next();
if(input.hasNextLine()){
if(input2.equals("Y") || input2.equals("y")){
System.out.print("Please enter a length: ");
length = input.nextFloat();
System.out.print("Please enter a width: ");
width = input.nextFloat();
System.out.printf("Area: %.2d %n", area);
}
else if(input2.equals("N") || input2.equals("n")){
System.exit(1);
}
}
}while(!validInput);
}
public static void areaOfRectangle(float length2, float width2){
length2 = length;
width2 = width;
double rectangle = (length2 * width2);
}
}
我做错了什么?
答案 0 :(得分:3)
你有
double area = areaOfRectangle();
和
public static void areaOfRectangle(float length2, float width2){
所以你有一个返回void
(没有)的方法,由于你没有返回任何内容而编译,但是你试图将它分配给double。而且,你根本没有传递参数。在java中,您不能像在函数式语言中那样为变量赋值。
你需要:
public static double areaOfRectangle(float length2, float width2){
double rectangle = (double)length2 * width2;
return rectangle;
}
然后在有参数时计算面积:
double area = areaOfRectangle(length,width);
也许不要在float和double之间进行转换,只需使用双打。