我的速度法不断给我一个错误说
“在”Velocity“类型中找不到名为'velocity'的方法的适用重载。也许你想要重载版本'void velocity(double distance,double time)抛出java.io.IOException;'代替?“
我不确定如何解决这个问题,但如果你们能提供帮助,那就太棒了,谢谢。
无论如何,这是代码:
import java.io.*;
public class Velocity
{
public static void main (String[] args)
{
velocity ();
}
public static void velocity (double distance, double time) throws IOException
{
BufferedReader myInput = new BufferedReader (new InputStreamReader (System.in));
System.out.println ("Please input distance in meters:");
distance = Double.parseDouble (myInput.readLine ());
System.out.println ("Please input time in seconds:");
time = Double.parseDouble (myInput.readLine ());
System.out.println ("Therefore your velocity is " + distance / time + " m/s.");
}
}
答案 0 :(得分:2)
您正在尝试调用方法velocity();相反,你应该打电话给
velocity (1d, 2d);
这是错误的原因。
关于重载:
如果你有另一个同名的方法,如:
public static void velocity() throws IOException () {
//body
}
然后你在这里重载方法速度。所以定义它应该有效。
答案 1 :(得分:0)
编译器可以找到的唯一方法是:
public static void velocity (double distance, double time) throws IOException
你在main中的调用是没有任何参数的方法速度。没有这样的方法。编译器正在寻找具有相同名称的静态方法,并且基本上说“这就像我发现你正在调用的那样接近,这是你的意思吗?”#39;。
假设您正在尝试调用静态方法,则需要传递距离和时间的争论。