java错误:类中的构造函数不能应用于给定的类型 [英] java error: constructor in class cannot be applied to given types
问题描述
我刚刚添加了构造函数Building,我认为一切都会正常工作,但我在第43行遇到错误。当我创建对象时构建b = new Building();
,它说我需要在参数中有一个 double
和 int
,所以我这样做了说,但我只是继续得到更多的错误。我做错了什么?
I just added the constructor Building and I thought everything would work fine, but I'm getting an error on line 43. When I create the object Building b = new Building();
, it says I need to have a double
and int
in the argument, so I did as it said but I just keep getting more errors. What am I doing wrong?
//This program lets the user design the area and stories of a building multiple times
//Author: Noah Davidson
//Date: February 20, 2014
import java.util.*;
public class Building//class begins
{
static Scanner console = new Scanner(System.in);
double area;//attributes of building
int floors;
public Building (double squarefootage, int stories)
{
area = squarefootage;
floors = stories;
}
void get_squarefootage()//user enters the area of floor
{
System.out.println ("Please enter the square footage of the floor.");
area = console.nextDouble();
}
void get_stories()//user enters the amount of floors in the building
{
System.out.println ("Please enter the number of floors in the building.");
floors = console.nextInt();
}
void get_info()//function prints outs the vaibles of the building
{
System.out.println ("The area is: " + area + " feet squared");
System.out.println ("The number of stroies in the building: " + floors + " levels");
}
public static void main(String[] args)//main starts
{
char ans;// allows for char
do{ // do/while loop starts so user can reiterate the program as many times as they desire
Building b = new Building();//creates the object b
b.get_squarefootage();//calls the user to enter the area
b.get_stories();//calls the user to enter the floors
System.out.println ("---------------");
b.get_info();// displays the variables
System.out.println ("Would you like to repeat this program? (Y/N)");
ans = console.next().charAt(0);// user enters either Y or y until they wish to exit the program
}while(ans == 'Y'||ans == 'y');// test of do/while loop
}
}
推荐答案
你的问题就在这里建筑物b = new Building(); //创建对象b
您的构造函数设置为接受两个参数,一个double和一个int,但是你都没有传递。
Your constructor is set up to take two arguments, a double and an int, but you pass neither.
尝试这样的事情删除错误
Try something like this to remove error
double area = 0.0;
int floors = 0;
Building b = new Building(area, floors);
也许更好的想法就是让一个没有参数的构造函数......
Perhaps a better idea would be to just have a constructor that took no parameters...
public Building{
this.area = 0.0;
this.floors = 0;
}
我应用这些更改后,代码会编译并运行...(请参阅下图)
After I apply these changes, the code compiles and runs... (see picture below)
这篇关于java错误:类中的构造函数不能应用于给定的类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!