Java应用程序错误(非静态变量/符号错误)

时间:2015-10-11 00:35:25

标签: variables methods static double

我在写一个应用程序

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

从哪里开始?

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

第79,64行 错误代码:无法从静态上下文引用非静态变量

第76,70行 错误代码=丢失找不到符号方法depositAmount2(double)位置变量bank1类型为Banker。

3 个答案:

答案 0 :(得分:0)

问题并不像看起来那么糟糕。

在第64行,您有混淆,因为您有一个包含两个帐户的Banker类。 bank1和bank2。

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

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

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

命名

第76行与70调用不存在的方法相同。

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

答案 1 :(得分:0)

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

Banker banker1= new Banker(50.0, 50.0);

稍后,您可以拨打banker1.getBank1()banker1.getBank2()(注意:您呼叫bank2.getBank2()应为bank1.getBank2()

此外,depositAmount功能也不存在。您已实施或更改名称时使用deposit1和deposit2。

答案 2 :(得分:0)

无论我从代码图片中解读什么,都会有两个错误。

您没有初始化banker2并尝试初始化。

声明bank2类似于你声明bank1的方式

Banker bank2=new Banker(0.00,50.00);

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

在Banker类中没有名为depositAmount的方法。

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

关于总和的最终输出,你需要修改你的课程以达到这个目的。