gpt4 book ai didi

java - 静态-非静态交互

转载 作者:行者123 更新时间:2023-11-29 03:02:10 30 4
gpt4 key购买 nike

我有两个类相互交互。第一个是中心的,如下:

public class Datenbank {
double winkelPanel = 0;
double groessePanel = 0;
double effizienzPanel = 0;
double maxProduktion = 0;

在这里我初始化我的变量并给它们赋值。稍后在同一个类中,有函数addPanel:

public void addPanel(double richtung, double winkel, double groesse, 
double effizienz, double maxProd) {
groessePanel += groesse;
if (richtPanel == 0){ richtPanel += richtung/100; }
else { richtPanel += richtung/100; richtPanel /= 2; }

if (winkelPanel == 0){ winkelPanel = winkel; }
else { winkelPanel += winkel; winkelPanel /= 2; }

if(effizienzPanel == 0) { effizienzPanel = effizienz/100; }
else {effizienzPanel += effizienz/100; effizienzPanel /= 2; }

if(maxProduktion == 0) { maxProduktion = maxProd; }
else {maxProduktion += maxProd; maxProduktion /= 2;}

这本身就很好(据我所知)。现在有另一个类,来自与之交互的 GUI。

if(menuItem == mPanelHinzufuegen) {
double Flaeche = Double.parseDouble(showInput("Fläche des Panels in m^2:"));
double Richtung = Double.parseDouble(showInput("Richtung des Panels(S = 0, W = 90, 0 = -90):"));
double winkel = Double.parseDouble(showInput("Winkel des Panels in Grad, z.B. 23.5:"));
double effizienz = Double.parseDouble(showInput("Effizienz des Panels, z.B. 23.5:"));
double maxProd = Double.parseDouble(showInput("Max. Produktion des Panels in Watt:"));

Datenbank.addPanel(Richtung, winkel, Flaeche, effizienz, maxProd);

}

当我开始调用 Datenbank.addPanel 时,我收到编译器错误,因为 GUI 是静态的,而 Datenbank 不是。简单地向 addPanel 方法添加“static”是行不通的,因为变量(winkelPanel 等)开始抛出一个错误,指出它们不是静态的,因此不能那样使用。

最佳答案

为什么要把它变成静态的?

Datenbank db = new Datenbank();
db.addPanel(Richtung, winkel, Flaeche, effizienz, maxProd);

关于java - 静态-非静态交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34175075/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com