这是我的3个类:主要方法,狗类和getFee类。
主要方法
package test;
import java.util.Scanner;
import pets.Dog;
import Utilities.FeeCalculator;
public class TestKennel
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
Dog dog = new Dog();
System.out.println("Hello " + dog.name + ", who's a good dog?");
dog.talk();
FeeCalculator getFeeStatment = new FeeCalculator();
getFeeStatement.getFee();
input.close();
}
}
狗类
package pets;
public class Dog
{
public String name = "Fido";
public byte age = 10;
public void talk()
{
System.out.println("Woof Woof Woof!!!");
System.out.println("I am " + age * 7 + " the equivalent of human years old.");
}
}
最后是getFee类
package Utilities;
import pets.Dog;
import java.util.Scanner;
public class FeeCalculator
{
double dailyRate;
public String getFee(Dog dog, Scanner input)
{
System.out.println();
System.out.println();
System.out.println("What is the name of your pet?");
dog.name = input.next();
System.out.println("Input how many days your pet will be staying.");
int numberOfDays = input.nextInt();
String feeStatement = "The cost for boarding "
+ dog.name
+ " for "
+ numberOfDays
+ " days is $" + numberOfDays * dailyRate;
return feeStatement;
}
}
在主要方法部分,为什么eclipse会给我一个错误?这不是我怎么称呼方法?:
FeeCalculator getFeeStatment = new FeeCalculator();
getFeeStatement.getFee();
帮助将非常感谢!
答案 0 :(得分:0)
因为原型是
public String getFee(Dog dog, Scanner input)
您的通话getFeeStatement.getFee();
需要两个参数,一个是Dog
类型,另一个是Scanner
类型。
根据您的代码,我认为您需要传递的是getFeeStatement.getFee(dog, input);
此外,如果您需要保存从此函数获取的值,请记住将此语句分配给String
变量。希望这会有所帮助。
答案 1 :(得分:0)
如果您提供了eclipse正在抛出的错误,那将会很有帮助。例如,您收到错误的一个原因可能是拼写错误。检查你的初始化参数或不传递参数,但我怀疑前者。你有:
My footer
</div>
</body>
</html>
现在,变量 FeeCalculator getFeeStatment = new FeeCalculator();
getFeeStatement.getFee();
与 getFeeStatment
不同, 检查拼写 。另一个是你的方法调用中没有参数。方法签名显示您需要两个参数。您需要传递两个参数才能正常工作。
P.S。还要停止在包名中使用大写。对于包名称使用小写是一种Java修辞。
答案 2 :(得分:0)
在TestKennel类中为方法getFee();
添加参数,或在不带参数的FeeCalculator类中实现getFee();
方法!