方法不能应用于给定类型

时间:2014-10-15 20:23:21

标签: java

public class HurdalQuentonA2Q1 {

  public static void main(String[] args) {

    double kgs ;

    double lbs ;

    double convertLBtoKG = convertLBtoKG(kgs, lbs) ;

  }
  static double convertLBtoKG(double lbs) {

    return lbs * 0.454 ; 


  }

  static double readWeight() {

    Scanner input = new Scanner(System.in) ;
    System.out.println("Enter your preferred system of weight measurement, k(for kg) or, p(for lb)") ;
    String userinput = input.nextLine() ;
      if(userinput == "p") {
        Scanner keyboard = new Scanner(System.in) ;
        System.out.println("Enter your dog's weight in lbs") ;
         double lbs = keyboard.nextDouble() ; 
          double kgs = convertLBtoKG ;

编译时会弹出一个错误说明

method convertLBtoKG in class HurdalQuentonA2Q1 cannot be applied to given types
required: double
found: double,double

我不知道是什么导致了这个

6 个答案:

答案 0 :(得分:1)

convertLBtoKG方法只有1个参数,但是你用2个参数调用它。

static double convertLBtoKG(double lbs) 

将您的方法调用更改为:

double convertLBtoKG = convertLBtoKG(lbs) ;

答案 1 :(得分:1)

您的convertLBtoKG方法:

static double convertLBtoKG(double lbs) {

定义为需要一个double参数(double lbs)并返回doubledouble后面的static)的方法。要使用它,你必须以与配置文件一致的方式调用它:给它一个double参数,然后用方法调用的值做一些事情,这将是方法回报。因此,而不是

double convertLBtoKG = convertLBtoKG(kgs, lbs) ;

你想要

lbs = convertLBtoKG(kgs);  // THIS IS STILL WRONG, SEE BELOW

(不要说double lbs = ...,因为您之前已经宣布过double lbs;

此外,在方法调用中使用之前,您需要为kgs指定一些内容。

编辑:虽然我试图解决导致错误的行,但它完全错了,并且它不属于那里。实际进行转换的代码位于readWeight,但您永远不会调用readWeight。您需要向调用它的main添加一些内容。然后,在readWeight中,而不是此行:

      double kgs = convertLBtoKG ;

这是你想要调用convert方法的地方:

      double kgs = convertLBtoKG(lbs);

我认为您需要仔细研究程序流程的工作原理。您的main计划必须致电readWeight才能获取readWeight中的代码;由于您已convertLBtoKG mainreadWeight放置{{1}},因此该语言无法自动汇总。

答案 2 :(得分:0)

convertLBtoKG的函数声明只允许传递一个参数,但是你传递的是lbs和kgs。

答案 3 :(得分:0)

您将两个double值传递给仅接受单个double参数的方法。重载方法以创建一个接受两个双精度的方法,或者使用适当的参数调用它。

答案 4 :(得分:0)

您的方法只获得1个参数double。 但是你在这里调用了 convertLBtoKG(kgs,lbs) 2参数。

答案 5 :(得分:0)

编译时,编译器将尝试匹配参数的数量及其类型。在这种情况下,您使用两个参数进行调用,但仅接受一个参数。