【问题标题】:Java application errors (non static variable / symbol errors )Java 应用程序错误(非静态变量/符号错误)
【发布时间】:2015-10-11 00:35:24
【问题描述】:

我正在写一个应用程序

我的大脑碰壁了,我不知道问题出在哪里。 我试过用谷歌搜索这个问题,但是在无数页之后它没有帮助。然后,我重新阅读了我正在阅读的书的整个章节。我找不到问题。请写出来告诉我问题,并解释为什么它是正确的。它应该取bank1 + depositAmount =一个数字的值,然后显示它。

从哪里开始?

代码:http://imgur.com/a/2H9W2

第 79、64 行 错误代码:不能从静态上下文中引用非静态变量

第 76、70 行 错误代码=缺少找不到银行家类型的符号方法 depositAmount2(double)location 变量bank1。

【问题讨论】:

    标签: variables methods static double


    【解决方案1】:

    问题并没有看起来那么糟糕。

    在第 64 行,您感到困惑,因为您有一个包含两个帐户的 Banker 类。银行 1 和银行 2。

    在第 62 行,您创建了一个名为 bank1 的 Banker 类的新对象。 为避免混淆,我建议您将其命名为银行。 (没有 1)。

    第 64 行 您正在尝试从不存在的对象中检索数据。 您可以通过 bank1.getbank2() 解决此问题 第 79 行也是如此。

    第 70 行正在调用一个不存在的方法。 将其更改为bank1.deposit(depositAmount) 请注意,在第 70 行,您将方法命名为 deposit

    第 76 行与第 70 行相同,您正在调用一个不存在的方法。

    如果仍然没有意义,请告诉我,如果需要,我会用代码详细解释。

    【讨论】:

      【解决方案2】:

      错误信息有提示。您的主要功能是静态功能。您做的第一件事是创建了 bank1 对象。但后来你开始使用 bank2 对象而不进行初始化。你为什么不这样开始,这样代码看起来不那么混乱?:

      Banker banker1= new Banker(50.0, 50.0);
      

      稍后,您可以拨打banker1.getBank1()banker1.getBank2()(注意:您拨打的bank2.getBank2()应该是bank1.getBank2()

      还没有 depositAmount 函数。使用您已实施的 deposit1 和 deposit2 或更改名称。

      【讨论】:

        【解决方案3】:

        无论我能从你的代码图像中破译什么,都有两个错误。

        你没有初始化 banker2 并试图初始化。

        声明 bank2 与声明 bank1 的方式相似

        Banker bank2=new Banker(0.00,50.00);
        

        以上将解决第 64,79 行中的问题。

        Banker 类中没有称为 depositAmount 的方法。

        您必须改用方法 deposit()。这将解决其他问题。

        关于 sum 的最终输出,您需要对类进行大量修改才能达到该结果。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-10-16
          • 2010-10-29
          • 2023-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多