【问题标题】:Where is the error calling the class in java?在java中调用类的错误在哪里?
【发布时间】:2015-02-17 14:55:56
【问题描述】:

我不明白为什么我在调用“Action”类时显示错误。

import java.util.*;

public class Banks {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        Actions act = new Actions();

        System.out.println("How much money would you like to withdrawl?");
        double moneygrabber = scan.nextDouble();

        act.take(6.24);

    }

    class Actions {
        private double balance = 0;
        private double withdrawl;
        private double deposit;

        void withdrawl(int take) {
            this.balance = this.balance - take;

        }

    }

}

【问题讨论】:

  • 所以,你还没有定义 take 方法。它不应该编译。
  • 它显示了什么“错误”?你的代码可以编译吗?如果没有,堆栈跟踪会说什么?是在跑步的时候吗?再说一遍:s​​tacktrace 告诉你什么?
  • 另请注意,您不调用 class - 您调用的是 method(或构造函数)。你认为你调用的是哪种方法?它在哪里声明?

标签: java class


【解决方案1】:

withdrawlActions 类中的方法,它接受整数(参数名称是 take 而不是方法名称,您在从类实例调用时使用方法名称作为您的案例)而不是双精度。

代替

act.take(6.24);

使用

act.withdrawl(6);

如果你想传递双精度(带小数的数字),你应该将你的方法参数类型从 int 更改为 double 类

void withdrawl(double take)
               ^^^^^^

【讨论】:

  • 并将签名更改为void withdrawl(double take)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 2015-04-11
  • 2017-06-17
  • 1970-01-01
  • 2017-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多