java错误:类中的构造函数不能应用于给定的类型 [英] java error: constructor in class cannot be applied to given types

查看:278
本文介绍了java错误:类中的构造函数不能应用于给定的类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚添加了构造函数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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆